前奏:今天我们学了,原码,补码和反码,学的时候表示各种简单,so easy,不过后面有个问题难到我了,就是byte类型负数的补码的最高位1是否加入运算.
例如:byte类型下,老师说因为没有-0,所以-128表示-0,那么-128的原码为
1000 0000 -128原码
1111 1111 -128反码
0000 0001 反码加1
---------------------------
1000 0000 这里最高位还是为1,且最高位不参与运算
那么byte类型-20和30相加(30的原码反码一样为0001 1110)
1001 0100 -20原码
1110 1011 -20反码
0000 0001 反码加1
------------------------
1110 1100 -20的补码
0001 1110 30的补码
--------------------------
0000 1010 为什么这里的最高位要参与运算?
请大神求解! 谢谢.{:2_31:}{:2_31:}{:2_31:} |
|