Binary 如果二进制中的减法溢出怎么办

Binary 如果二进制中的减法溢出怎么办,binary,Binary,我试着做这个等式-122-(7),结果是=01111111 我用2的补码表示-122,得到=10000110。我用2的补码来表示7,这样我可以做加法,得到=11111001。当我将两者相加时,我得到了带进位1的=01111111。我认为这不是-129的正确答案忽略溢出位 位宽为8的2的补码的范围为[-128127] 这个二进制数学表明(-122)+(-7)等于什么 122 => 01111010 7 => 00000111 -122 => 10

我试着做这个等式-122-(7),结果是=01111111

我用2的补码表示-122,得到=10000110。我用2的补码来表示7,这样我可以做加法,得到=11111001。当我将两者相加时,我得到了带进位1的=01111111。我认为这不是-129的正确答案忽略溢出位 位宽为8的2的补码的范围为[-128127]

这个二进制数学表明(-122)+(-7)等于什么

  122 =>    01111010
  7   =>    00000111

  -122 =>   10000110
  -7   =>   11111001
+         +
------    ----------
  127     1 01111111

01111111 => 127
在本例中,我们看到有一个指定为-256的溢出位-256超出8位范围[-128127]。大多数实现都会删除这个溢出位,因此结果将是127

进一步阅读 如果你好奇的话,还有其他的stackoverflow答案可以更详细地探究二的补码溢出


那么-129的八位表示是什么呢?我不确定,但这是正确的答案吗?通常我会说是127