所以,在过去的几个月里,我一直在尝试了解计算机,并真正详细了解它们是如何工作的。我最近在学习减法器,我想知道..
首先,据我了解,减法器使用二进制的补码来获得结果。但是,为什么要减去呢?例如,2 的补码 5 (0101) 是 1011。但是,这也是正的 11。即使这个数字被否定了,是什么让减法器把它当作一个负数而不是另一个正数呢?如果问题是 8 - 5,是什么阻止了它做 8 +11?是什么让它从无符号位中识别出有符号位?我听说程序运行已决定,但问题是什么使程序能够决定是加还是减,以及如何将其解释给 CPU 和 AlU。
另外,我了解到 AlU 使用一种在加法和减法之间切换的电路。这个电路是如何工作的?是什么让它决定是加还是减?
最后,这个电路如何从加法切换到减法?我看到的唯一减法器是一个没有门的加法器?电路在可以改变功能的方面有何不同?