7位two's complement二进制表示可表示的最负数值求解
7位二进制补码可表示的最小负数值
答案是 -64。
推导过程
- n位二进制补码的通用表示范围固定为 $-2^{n-1}$ 到 $2^{n-1}-1$,本题中位宽n=7,代入公式直接可得最小负数值为 $-2^{6}=-64$
- 它对应的7位补码编码为
1000000,你可以通过位权计算验证:
补码最高位是符号位,位权为负的$2^{n-1}$,其余低位位权均为正,按位求和即可得到真值:
$1\times(-2^6) + 0\times2^5 + 0\times2^4 + 0\times2^3 + 0\times2^2 + 0\times2^1 + 0\times2^0 = -64$ - 额外说明:补码编码体系中不存在负0,原本用来表示负0的
1000000编码被直接复用为该位宽下的最小负数,这也是补码比同位宽原码、反码多表示一个负数的核心原因。
内容的提问来源于stack exchange,提问作者yowhatsup123
相关产品推荐
相关产品推荐

