我被要求使用5位二进制补码显示11 + 6的计算。我发现一些令人困惑的规则但是却得出了如下所示的答案。请告诉我是否正确或者如果错误需要做什么。
11的两个补充是
01011
二的补码是6
00110
现在根据需要使用运营商添加它们:
01011 ----- 11二进制中
00110 -----二进制中的6
10001 ---总
其中十进制是17.这是正确的方法吗?因为我在二进制显示10001的结果不是10001应该意味着-1,因为二进制补码中的第一位是符号位。如果错了,请帮我解决这个问题。谢谢你的帮助。
答案 0 :(得分:1)
让我们解释一下这是如何工作的。您知道1在5位二进制表示中表示为00001
。要获得-1,(2的补码)的已知方法是:
11110
。11111
等于31
十进制基数(无符号)。因此,10001
不等于-1。
现在,我们以11(基数10)为例。我们知道11等于01011
。
10100
10101
在无符号模式下等于21,在签名模式下等于-11。 然后,您可以推导出10001
在签名模式下为-15或在无符号模式下为17。
另外要注意,带符号的5位整数的范围是从-16到15.无符号的5位整数是从0到31的界限。在你的情况下,答案是17,这意味着它是无符号的整数或-15作为有符号整数。
希望对你有所帮助。