目录
计算机汇编语言中,计算进制分为四种:二进制,八进制,十进制和十六进制
二进制 B (binary)
逢二进一,基数为2,数值部分用两个不同的数字0、1来表示。
示例:7 = 0b0111,0b表示二进制
八进制 O (octal)
逢八进一,基数为8,数值部分分别用0,1,2,3,4,5,6,7来表示。
示例:10=012,第一位补0表示八进制
十进制 D (decimal)
逢十进一,基数为10,数值部分分别用0,1,2,3,4,5,6,7,8,9来表示。
示例:11=11,我们数学运算中最常用的进制
十六进制 H (hexadecimal)
逢十六进一,基数为16,数值部分用十进制表示0~9,用子没有A,B,C,D,E,F表示10~15。
示例:30=0X1E,0X前缀表示十六进制
小技巧
Windows系统打开计算器(win+r输入calc),选择程序员

输入一个数字得出不同进制的计算结果

Java位运算符分为两类:位逻辑运算和移位运算
位逻辑运算符(4个):
移位运算符(3个):
| 运算符 | 描述 |
| & | 两位都为1,结果为1,否则为0 |
| | | 两位都为0,结果为0,否则为1 |
| ~ | 两位一个为0,一个为1,结果为1,否则为0 |
| ^ | 数字反转,0变成1,1变成0 |
| << | 低位溢出,符号位不变,并用符号位补溢出的高位 |
| >> | 符号位不变,低位补0 |
| >>> | 低位溢出,高位补0 |
机器数:一个数在计算机的存储形式是二进制数,我们称这些二进制数为机器数,机器数是有符号,在计算机中用机器数的最高位存放符号位,0表示正数,1表示负数。
原码
原码表示的数值与机器数一样,即原码就是计算机的二进制数
+1 = 0000 0001 最高位的0表示正数
-1 = 1000 0001 最高位的1表示负数
反码
反码的表示方式分为以下两种:
+1的反码 = +1的原码 = 0000 0001
-1的反码 = 1111 1110
补码
补码的表示方式分为以下两种:
+1的补码 = +1的原码 = 0000 0001
-1的补码 = -1的反码 + 1 = 1111 1110 + 1 = 1111 1111
总结以下:
关于上面的几点,我们通过位逻辑运算符做一些简单例子演示
求出2 & 3的结果
求出~-2的结果
最后给个练习题:计算~2的结果?