原码
以15为例
15的二进制:00000000 00000000 00000000 00001111
-15的二进制:11111111 11111111 11111111 11110001
计算过程:补码(负数的二进制)=反码+1
反码:11111111 11111111 11111111 11110000
补码(即加1):11111111 11111111 11111111 11110001 也就是-15的二进制
正数二进制->反码->加1(补码)->负数二进制
负数二进制->减1->反码->原码->正数二进制
已知一个数的补码,求原码的操作分两种情况:
(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。
(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取
反,然后再整个数加1
运算符
<< 左移 m<m2^n (补0)
>> 右移 m>>n->m(2^-n) (首位是1则补1,0则补0)
>>> 无符号右移(正数与右移一致,负数的时候有区别,补0)
& 与运算:同位&运算时,都是1是结果为1,其余为0
| 或运算:同位|运算时,都是0结果为0,其余为1
^ 异或运算:同位^运算时,都是0或者都是1的时候结果为0,其余1
~反码:把二进制的同位反转
import
import.package.*(导入package包的所有类)