读书人

二进制代码有关问题

发布时间: 2012-03-06 20:47:55 作者: rapoo

二进制代码问题
为什么补码的补码就是原码,计算过程我知道,但其中的道理却没想通,不要跟我说用闹钟拨时间,那是个形象的比喻,懂这个比喻不见得就懂对补码求补就得原码这个过程。
还有两个有符号的二进制数进行运算,为什么符号位也能参与运算,而且还不会影响结果的正确性?

[解决办法]
很简单的道理啊,(原码(1101 0010) + 反码(0010 1101) = 全码(1111 1111))
而:(补码 = 反码 + 1)
(补码的反码 = 全码 - 补码) 即( 补码的反码 = 全码 - 反码 - 1)
那:(补码的补码 = 补码的反码 + 1 = 全码 - 反码 = 原码 )了阿

读书人网 >C语言

热点推荐