第 13 题
一个 8 位的二进制整数,若采用补码表示,且由 3 个“1”和 5 个“0”组成,则最小值为( )。
A. -127 B. -32 C. -125 D. -3
[tag_link]
正确答案:C
在 8 位补码表示中,最高位是符号位:0 表示正数,1 表示负数。
由于要求最小值,该数必为负数,因此符号位必须为 1。 已知该数由 3 个“1”和 5 个“0”组成,因此符号位占用一个“1”,剩余 7 位由 2 个“1”和 5 个“0”组成。
补码表示中,负数的值计算公式为:
要使得数值最小,需要剩余 7 位的无符号值尽可能小。
剩余 7 位中,无符号值最小的情况是将两个“1”放在最低位(即第 0 位和第 1 位),此时剩余 7 位二进制为 `0000011`,对应的无符号值为 3。 因此整个 8 位二进制数为 `10000011`。
计算数值:
即选项 C。
验证其他选项:
- `-127` 的补码为 `10000001`,只有 2 个“1”,不符合条件; >
- `-32` 的补码为 `11100000`,虽符合 3 个“1”和 5 个“0”,但值为 `-32`,大于 `-125`; >
- `-3` 的补码为 `11111101`,有 7 个“1”,不符合条件。 >
因此,最小值为 `-125`。 >