首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我有几个关于ALU的问题....

我有几个关于ALU的问题....
EN

Stack Overflow用户
提问于 2013-07-24 15:43:41
回答 1查看 1.1K关注 0票数 0

所以,在过去的几个月里,我一直在努力学习计算机,并真正详细地了解它们是如何工作的。我最近在学习减法器,我想知道..

首先,据我所知,减法器使用两个人的恭维来得到结果。但是,为什么它要减去呢?例如,两个人的5 (0101)的恭维是1011。但是,这也是一个正11。即使这个数字被取反了,是什么让减法器把它当作一个负数而不是另一个正数呢?如果问题是8- 5,是什么阻止它做8 +11?是什么让它识别有符号位和无符号位?我听过程序运行时的决定,但接下来的问题是,是什么赋予了程序决定加或减的能力,以及如何解释给CPU和AlU。

此外,我还了解到AlU使用一个在加法和减法之间切换的电路。这个电路是怎么工作的?是什么让它决定是加法还是减法?

最后,这个电路是如何从加法切换到减法的?我看到的唯一的减法器是一个没有门的加法器?在可以改变功能的东西上,电路有什么不同?

EN

回答 1

Stack Overflow用户

发布于 2013-07-24 15:54:35

减法就是第二个操作数为负数的加法。二的补码的构造使得与负数相加只是按照预期工作(当忽略溢出时)。

算术运算单元不需要知道一个数是正数还是负数,但在二进制补码中,所有最高有效位设置为1的数都是负数。算术逻辑单元并不关心,因为二的补码的设计是为了一切都能正常工作。

现在,减法就是加法,所以我们可以使用相同的电路来实现这两个功能。你正在讨论的开关所做的是,它对第二个操作数求反(求反在二的补码中很容易,有几种方法可以做到这一点),然后将数字相加。

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

https://stackoverflow.com/questions/17828043

复制
相关文章

相似问题

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