第一补码和第二补码的问题

计算科学 符号计算 计算机算术
2021-12-28 10:44:43

我所知道的 1=负,0=正 示例 1. 27-13=14 示例 2. -39+92=53 例如 1. 27 到二进制是 11011 13 到二进制是 1101

所以 1101 变为两个补码将是 0011。所以对于计算 11011+0011 给了我 11110。但是正确的答案应该是 1110,它是 14 的二进制。为什么最左边的部分有一个额外的 1?

例如 2. -39 到二进制是 100111 到两个补码将是 011001 92 到二进制是 1011100 所以把它们加起来会给我 1110101,这不是 53 (110101) 的二进制,也是因为额外的 1 。有人可以向我解释为什么吗?

1个回答

二进制补码总是在考虑特定位宽的情况下完成,并且您在该宽度内使用模运算。基本上,您应该忽略前导 1,它是输出进位,应该模数。