1.在Java 中没有有符和无符,都是有符这种情况
2. 数据在计算机中的存的值是 该值的补码
- 对于正数来说,它的补码就是它本身
- 对于负数来说,它的补码是它对应的正数的二进数所有位取反之后加一
- -1的存储值
一个8位的存储
-1表示成2进制的:10000001
取反码符号位不变,取反:11111110
反码+1 : 11111111
所以-1在计算机中的存储值是11111111
3.移位操作 负数右移,高位补1
-4 >> 1 = -2
4:00000100
反码:11111011
补码:11111100(-4)
右移: 11111110 发现为负数 取反后00000001在加1 后绝对值00000010(2) 等到结果-2
4.移位操作 负数左移,低位补0
左移: 11111000 发现为负数 取反后00000111在加1 后绝对值00001000(8) 等到结果-8