首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >二进制减法-额外数字?

二进制减法-额外数字?
EN

Stack Overflow用户
提问于 2014-07-04 14:09:48
回答 1查看 94关注 0票数 1

只是在使用2的补体进行二进制减法,但是我想要一些解释。

要执行11 - 9,我首先将9转换为负数,方法是将0改为1和1到0,然后添加1,然后将负数加为11 +(-9)

二进制

代码语言:javascript
复制
 00001011
+11110111
---------
100000010

据我所知,我只是忽略了MSB,所以它变成了:

代码语言:javascript
复制
00000010

为什么我可以放弃MSB?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-04 14:36:59

因为你有效地先加了它。

倒置/加一个组合相当于从常数“大于允许的”中减去:

代码语言:javascript
复制
100000000
 00001001
---------  -
 11110111

因此,您已经将11 - 9更改为11 + (256 - 9),您可以将其编写为11 - 9 + 256,以便更清楚地说明,为了进行数学运算,您自己添加了“额外位”,所以现在您必须删除它以获得原始表达式的结果。

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

https://stackoverflow.com/questions/24576163

复制
相关文章

相似问题

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