1.各种进制的表现形式和特点
表现形式:二进制、八进制、十进制、十六进制;
特点:二进制:0,1,满2进1.以0b或0B开头;
十进制:0-9,满9进1;
八进制:0-7,满7进1.以数字0开头表示;
十六进制:0-9及A-F,满16进1.以0x或者0X开头表示。此处不区分大小写。
如:0x21AF+1=0X21B0
2.各种进制之间相互转换方法
十进制二进互转:
①二进制转成十进制:各个位上的数乘以2的幂,再求和;
②十进制转成二进制:用十进制数除以2取余数,直到商为0,再把余数倒叙排列。
二进制八进制互转:
①二进制转八进制:从低位开始,每三个二进制数是一组,到最后不足补0,每一组转换成
相应的八进制数。
②八进制转二进制:拆分法
如:054
5-->0b101
4-->0b100
054-->0b101 100
二进制十六进制互转:
①二进制转十六进制:从低位开始,每四位是一组,到最后不足补0,每一组转换成相应的十六进制数。
②十六进制转二进制:拆分法
八进制和十六进制:先转换成二进制,然后二进制与八进制或十六进制进行转换。
3.求负数在计算机中的表现形式
表现形式:补码
①给定一个负数求其在计算机中的表示方式
先找到相应的正数的表示形式,然后利用规律
②给定一个二进制数,求其所代表的十进制整数
考察符号位:正数按照二进制转十进制方式;
负数直接根据规律找到对应的正数的原码,即可得到此负数的值
4.根据二进制数求对应的整数
如:0110 1001
1*2^0+1*2^3+1*2^5+1*2^6=105
5.比较运算符种类
算术运算符:+ — + — * / % ++ ++ -- -- +
赋值运算符:=;
扩展赋值运算符:+=,-=,*=,/=,%=
比较运算符(七种):==相等于;!=不等于;<小于;>大于;<=小于等于;>=大于等于;
instanceof检查是否是类的对象。
比较运算符的结果都是boolean型,要么是true,要么是false。比较运算符“==”不能误写成“=” 。
逻辑运算符(六种):
&:逻辑与 | :逻辑或 ! :逻辑非
&& :短路与 || :短路或 ^ :逻辑异或
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6 。
“&”和“&&”的区别:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
“|”和“||”的区别同理,||表示:当左边为真,右边不参与运算。
异或( ^ )与或( | )的不同之处是:当左右都为true时,结果为false。
理解:异或,追求的是“异”!
位运算符(七种):
<<左移;>>右移;>>>无符号右移;&与运算;|或运算;^异或运算;
~反码。
总结:
单独对一个数操作的符号有四个
对两个数进行操作的符号有三个
6.逻辑运算符种类
&:逻辑与 | :逻辑或 ! :逻辑非
&& :短路与 || :短路或 ^ :逻辑异或
7.短路与,短路或的含义
短路与:双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
短路或:||表示:当左边为真,右边不参与运算;如果左边为假,那么右边参与运算。
8.位运算符种类,有符号右移>>无符号右移>>>的含义
位运算符(七种):
<< 左移;>> 右移;>>> 无符号右移;& 与运算;| 或运算;^ 异或运算;
~ 反码。
有符号右移>>的含义:
有符号右移:
移动之后的结果和原数符号相同。
无符号右移>>>的含义:
无符号右移:
无符号右移的结果总是正数。
对于一个正数,有符号右移,无符号右移相同的位数,结果相同。
对于一个负数,有符号右移,无符号右移相同的位数,结果肯定不相同。