16位二进制补码所表示数的最小值

如题所述

16位二进制数补码,所表示的是十进制数:-32768~+32767。
最小值,当然是:-32768。
其二进制是:1000 0000 0000 0000B;
16进制是:8000H。
-------------------------
楼主问的是 16 位数,太多了。下面用四位二进制来说明。

0000、0001、0010...0111、1000、1001...1110、1111,
分别代表十进制:0、1、2......7、8、9......14、15。

位数限定后,这16个数字的变化就是循环的。

把 1111(15),再加一,就是 0000,即十进制的零。
把 0000 (0),再减一,就是 1111,即十进制的15。
可以理解吧?

但是,零,再减一,不就是负一吗?
对。
把 0000 (0),再减一,就是 1111(15),即十进制的-1。
把 1111(15),再减一,就是 1110(14),即十进制的-2。
把 1110(14),再减一,就是 1101(13),即十进制的-3。
……
最后,即有:1000(8),即十进制的-8。
算法:-X,等于 16 - X。
------------------
以此类推,可以得出:
FFFFH(65535),就是-1。
……
8000H(32768),就是-32768。
-------------------------
补码,就是这么规定的:
[ X ]补 = X……………………零和正数的补码,就是该数本身
[ X ]补 = 模 - | X |…………负数的补码,用模,减去该数的绝对值

书上,有这个定义式。
-------------------------

学习补码,千万不要从原码、反码、符号位、求反加一,来入门。
那些,都是骗人的。

应该从定义式开始学。
补码定义式并不难,小学生,都能理解。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-13
-32768 也就是负2的15次方!追问

答案用16进制

补码最小是全1是么你计算补码所代表的数值不需要求补之间就这么算么

补码最小是全1是么你计算补码所代表的数值不需要求补之间就这么算么

追答

A000

追问

答案是8000H额

最主要16位补码最小是1111 1111 1111 1111这个对不

这个所代表的值求补是1000 0000 0000 0001额

追答

补码的话 会将0到 2^16 折成两半 0-2^15-1 (7FFFH)表示正数 ,2^15 - 2^16-1(8000H-FFFFH)代表负数 从最小到最大 -32768(8000H)到-1(FFFFH)

追问

这个不太明白可否解释下答案最小值怎么弄成8000H的

还有最小为何不是全1最后为什么有个0位