在表示范围之外加或减二进制补码时会发生什么?

时间:2019-09-17 16:31:05

标签: binary system computer-science twos-complement

如果存在11位二进制补码,其范围为-1024到1023,如果超出该范围会发生什么?例如,我有-1024并减去1。或者我有1023并加上1。它崩溃了吗?保持不变?更改为其他号码?

1 个答案:

答案 0 :(得分:0)

-1025不能由11位的补码表示。如果我们添加它们,则会发生溢出:

-1024 =   10000000000 => 11 bits
-1 =     +11111111111 => 11 bits
         ------------
         101111111111 => 12 bits

接下来会发生什么取决于您的实现。由于这是一个固定宽度的二进制数的问题,因此我们丢弃了溢出位,剩下011111111111023

您可能要查看堆栈溢出中的many similar questions