楼主关于计算机原码,反码和补码的描述应该是有点问题的。 用反码计算减法不止有正负零问题,还会出现某些计算结果不正确的问题。例如在4位机上,2 - 1 = 【0010原】+【1001原】=【0010反】+【1110反】=【0000反】=【0000原】= 0。主要原因是负数的反码是对于7同余的(4位机上),当计算结果是正数时(2-1=1,结果1是正数,但是负数和零时没有问题),计算结果会出现错误(少了1)。 而补码就没有这个问题,不论是正负数,求补后都是对于8同余的(4位机上)。 参考:https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html (注意看#20楼的评论)
点赞 1

相关推荐

牛客网
牛客企业服务