【发布时间】:2014-11-15 01:28:56
【问题描述】:
我需要将数字200转换成二补8位,但我只能得到9位的结果011001000,这是我教科书上的错误还是有其他方法?
【问题讨论】:
-
你只能用 8 位表示 -128 到 127 之间的有符号值,如果这就是你的意思的话。
我需要将数字200转换成二补8位,但我只能得到9位的结果011001000,这是我教科书上的错误还是有其他方法?
【问题讨论】:
200 超出了 8 位二进制补码整数的范围。因为你只能得到 7 位的幅度(第一位是符号),所以你可以放入 8 位二进制补码整数的最大正值是(2**7 - 1) = 127
您需要至少 9 位来表示二进制补码中的 200。
【讨论】: