解释有符号和无符号的数字

时间:2016-06-14 20:53:52

标签: binary twos-complement

老师告诉我们,二进制数,例如1000 0001,有2个含义。一个代表-127(签名),从-127到127 另一个是无符号数,从0到256

如果我有二进制数,例如1000 0001,则计算器仅显示带符号的数字(-127)。我怎么知道这个二进制数表示的无符号数是什么?

2 个答案:

答案 0 :(得分:4)

有符号和无符号数具有完全相同的位

在计算器中,您可以显示为十六进制(0xff)。您是否想要解释十六进制数字和#34;签名"由您决定。或"未签名"。

在x86汇编程序中,您可以检查"符号位"在CPU状态标志中。

查看本教程:

Signed vs Unsigned Numbers

答案 1 :(得分:0)

无符号数是最容易从二进制解释的;只需添加位代表的所有值(2^7+2^0 = 129)即可1000 0001

签名的解释几乎相同,只有一个额外的步骤: 如果前导数字为1,则反转所有位(在本例中为0111 1110)并将1添加到结果中以获取负数的(绝对)值(in这种情况0111 1111 = 127)

要测试您是否正确执行了操作,请再次执行相同操作,最后应使用原始编号。