#原码 反码和 补码
网上对原码,反码,补码的解释过于复杂 需要背诵
对于有符号的了来说
1二进制的最高位是符号位,0代表整数,1代表负数
2 整数的源码,反码,补码都一样(三码合一)
3 负数的反码 = 它的源码符号位不变 其他数取反 0 ->1 , 1->0
4.负数的补码= 它的反码+1 负数的反码= 负数的补码-1
5.的反码和补码都是0
6.java没有无符号数,换言之 java中的数都有符号
8.当计算运行时,要看他的原码
##位运算符
& 按位与 两个全为1 结果为1 ,否则为0
位运算符
还有三个 位运算符>> << 和>>> 运算规则:
1 算术右移>> : 低位
2 >>> 无符号右移 :逻辑右移也叫无符号右移,运算规则是 低位移除
高位补0
有七个位运算符(&、|、^、~、>>、<<和>>>)
按位与& 两位全为1,结果为1 否则为0
按位或| 两位有一个1 结果为1,否则为0
按位 异或^: 两位一个1 结果0 结果为1 否则为0
按位取反~ 0-> 1 1->0
比如2&3=? ~-2=? ~2=? 2|3 =? 2^3=?