在表示范围外加减二进制补码会发生什么?
What happens exactly when adding or subtracting two's complement numbers outside the range of representation?
如果有一个范围为-1024 到1023 的11 位二进制补码,如果超出该范围会怎样?例如,我有 -1024 并减去 1。或者我有 1023 并加 1。它会崩溃吗?保持不变?更改为其他号码?
-1025 不能用 11 位二进制补码表示。如果我们添加它们,就会溢出:
-1024 = 10000000000 => 11 bits
-1 = +11111111111 => 11 bits
------------
101111111111 => 12 bits
接下来会发生什么取决于您的实施。由于这是一个固定宽度二进制数的问题,我们丢弃溢出位,留下 01111111111
或 1023
.
Stack Overflow 上有 similar 您可能想要查看的内容。
如果有一个范围为-1024 到1023 的11 位二进制补码,如果超出该范围会怎样?例如,我有 -1024 并减去 1。或者我有 1023 并加 1。它会崩溃吗?保持不变?更改为其他号码?
-1025 不能用 11 位二进制补码表示。如果我们添加它们,就会溢出:
-1024 = 10000000000 => 11 bits
-1 = +11111111111 => 11 bits
------------
101111111111 => 12 bits
接下来会发生什么取决于您的实施。由于这是一个固定宽度二进制数的问题,我们丢弃溢出位,留下 01111111111
或 1023
.
Stack Overflow 上有