如题所述
65535的答案是错误的.16位二进制补码为FFFFH,则对应的二进制为16个1,计算机中带符号数均用补码表示,最高位符号位:1代表负数,0代表正数.本例可知,最高位为1,必定为负数.正数的原、反、补码均是一样的,负数的原、反、补码则按以下规则计算:
符号位(最高位)不变,其余位按位取反,然后末位加1.不论从原码到补码还是从补码到原码,均按此规则计算.
由此可见,补码FFFFH,二进制即1111 1111 1111 1111B,
符号位不变,其余位按位取反得到:1000 0000 0000 0000B(此时为反码,负数的反码),
然后末位+1,得到负数的原码:1000 0000 0000 0001B,最高位为1,代表负号“-”,其余15位才是真值,显然为1.那么十进制的真值就是 -1.
符号位(最高位)不变,其余位按位取反,然后末位加1.不论从原码到补码还是从补码到原码,均按此规则计算.
由此可见,补码FFFFH,二进制即1111 1111 1111 1111B,
符号位不变,其余位按位取反得到:1000 0000 0000 0000B(此时为反码,负数的反码),
然后末位+1,得到负数的原码:1000 0000 0000 0001B,最高位为1,代表负号“-”,其余15位才是真值,显然为1.那么十进制的真值就是 -1.
温馨提示:答案为网友推荐,仅供参考