如果我有二进制数,例如1000 0001,则计算器仅显示带符号的数字(-127)。我怎么知道这个二进制数表示的无符号数是什么?
答案 0 :(得分:4)
有符号和无符号数具有完全相同的位!
在计算器中,您可以显示为十六进制(0xff)。您是否想要解释十六进制数字和#34;签名"由您决定。或"未签名"。
在x86汇编程序中,您可以检查"符号位"在CPU状态标志中。
查看本教程:
答案 1 :(得分:0)
无符号数是最容易从二进制解释的;只需添加位代表的所有值(2^7+2^0
= 129)即可1000 0001
。
签名的解释几乎相同,只有一个额外的步骤:
如果前导数字为1
,则反转所有位(在本例中为0111 1110
)并将1
添加到结果中以获取负数的(绝对)值(in这种情况0111 1111
= 127)
要测试您是否正确执行了操作,请再次执行相同操作,最后应使用原始编号。