首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >4位二进制数的9的补码

4位二进制数的9的补码
EN

Stack Overflow用户
提问于 2017-03-30 18:17:53
回答 1查看 12.4K关注 0票数 0

我不懂如何计算二进制数的9的补码。我可以将它应用于十进制,例如15 = (9-1)(9-5) ) 84然后我想继续进行二进制-> decimal -> 9的补码->二进制转换,但我猜这不是正确的方法。

enter image description here

EN

回答 1

Stack Overflow用户

发布于 2017-06-02 02:07:47

不知道你是不是还在寻求帮助,我看已经两个月了。但在谷歌首页的任何地方,我都找不到如何在不将二进制转换为十进制的情况下,对BCD (二进制编码的十进制,最多存储在4位,最多1001位)的9表示赞赏。如果你只在二进制模式下工作,比如在算术逻辑单元中,这是行不通的。

在用二进制在纸上搜索了一下9的恭维之后,我找到了答案。

你需要取9 (1001),然后加上你想得到9的4位二进制数的2的恭维:

找9的恭维2 (0010)为例

代码语言:javascript
运行
复制
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。

9对10及以上的赞美需要一个额外的步骤:你需要根据步骤3的结果再次计算两个人的赞美。在下面的例子中,我计算出了9对13的赞美:

代码语言:javascript
运行
复制
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的补码计算,以及最终的答案是正值还是负值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43114940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档