3、反码计算加减法:加法与减法结果都是正确的 ,只是解决不了 -0的问题
【参考答案】正确
【问题解析】在原码情况下有正0和负0的区分,即0000 0000和1000 0000,求解反码时正0的反码不变,还是原码的形式,负0的反码就是1111 1111,在反码体系下没有办法统一视为一个0,采用补码则可以解决这个问题,题目描述正确,反码确实无法解决此问题。 反码加法规则是:考虑(-3)+(-4),在8位有符号整数下:-3的反码为11111100,-4的反码为11111011,按照无符号整数相加并自然溢出后为11110111,在反码加法中,符号位(最高位)也参与运算。如果符号位产生进位,需要将此进位加到结果的最低位,这被称为“循环进位”,因此得出11110111+1,=11111000。这个东西看成反码,然后转为原码为10000111,所以其真值为-7,也就是反码下计算(-3)+(-4)=(-7)