黑马程序员技术交流社区

标题: 入学3天,请教大神们一个技术问题. [打印本页]

作者: leo_yang    时间: 2016-4-22 21:55
标题: 入学3天,请教大神们一个技术问题.
前奏:今天我们学了,原码,补码和反码,学的时候表示各种简单,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:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2