imaskar
幼苗
共回答了10个问题采纳率:80% 举报
FFFF表示的值是15x16^3+15x16^2+15x16^1+15,显然不是你给出的16^4+16^3+16^2+16.FFFF=15x16^3+15x16^2+15x16^1+15=65535,而答案为什么是-32767呢?这就是“规定”!原因是最高位只是个表示正数负数的符号(就像我们书写十进制数前面的+-一样),而并非是数据位!看,FFFF的有交数据位是7FFF,这不就是32767吗?最高位是1表示负,那么若是原码不就是-32767了嘛!而若是补码则真值是8001,那就是-1了……
1年前
追问
5
涂浩泊
举报
FFFF怎么就变成7FFF了啊? 十六进制的最大值不是 FFFF FFFF 么,怎么就到最高位了? 还有一半呢?
举报
imaskar
你并没有说这是多少位整型啊,我当然根据题面分析以为是16位整型了。如果你的是32位整型平台,那FFFF就没有别的选择只能是正数65535,怎么会出现-32767呢?从答案是-32767完全可以断定题目是按16位整型平台出的……