我不明白如何计算二进制数的9的补码。 我可以将它应用于十进制的,例如15 =(9-1)(9-5))84 然后我想继续二进制 - >十进制 - > 9&#39补充 - >二进制转换,但我认为这不是正确的行动方式。
答案 0 :(得分:0)
不确定你是否还在寻找帮助,我发现已经有两个月了。但是我找不到如何在谷歌首页的任何地方对9的BCD(二进制编码的十进制,存储在4位到1001中)进行恭维,而不将二进制转换为十进制。如果您只使用二进制文件,那么这不起作用,就像在ALU中一样。
在用二进制文件中的9张恭维书后,我找到了答案。
你需要取9(1001),然后加上你想得到9的二进制数的2恭维:
例如找到9的恭维2(0010)
1. 1's compliment of 0010 = 1101
2. Add 0001 to get the 2's compliment = 1110
3. Add this to 1001 (9) = (1) 0111
This can be tested in decimal: 0111 = 7, and 9 - 2 = 7.
注意左边有一个进位(1)。这表明最终答案是肯定的。对于高达9的每9次补码,这个进位将为1。
对于10岁及以上的9个赞美需要一个额外的步骤:你需要在第3步的结果上再次计算两个赞美。在下面的例子中,我计算了9的赞美之处:
1. 1's compliment of 1101 = 0010
2. Add 0001 to get the 2's compliment = 0011
3. Add this to 1001 (9) = (0) 1100 (note that the carry bit = 0)
4. 1's compliment of 1100 = 0011
5. Add 0001 to get 2's compliment = 0100
In decimal: 9 - 13 = -4.
注意左边没有进位(0)。这意味着最终答案是负值:-4。
左侧是否有进位,将决定您是否需要在步骤3进行第二次2的恭维计算,以及最终答案是正值还是负值。