在计算机内,减法是怎么做的?

来源:百度知道 编辑:UC知道 时间:2024/06/05 17:10:52
一直听说计算机内,减去一个数等于加上这个数的补码,但是我不明白的是当5-3时,3的补码同其原码一样,这样减去3等于减去其补码后,岂不成8了?
还有就是当计算机内的两个做相减运算的两寄存器,比如说AL,BL中都存有一个数时,这时这两个寄存器相减时,计算机对其的处理是直接按照我们手算时列式相减,还是先将减数取补,再做加法呢?
总的说来,我的问题是计算机内减法硬件电路是怎样的呢?

计算机的CPU里有相应的高频数字电路来算加减法。

电路中可以只有一个加法器,这样就根据是加法和减法来决定是否要对第二个操作数求反,然后在把第一个操作数和经过求反的第二个操作数送给加法电路。

电路中有可以既有加法器也有减法器,这样就可以直接把加法运算导入加法器,把减法运算导入减法器。

第一种方法节省芯片面积,但是频率要比同样工艺下的第二种方法低。

计算机只会做加法运算,其它运算是通过相应算法用加法来完成的。机内的数都是用补码形式表示的,比如5-3,这两个数是5和(-3)的补码,即5-3=5+(-3)。
计算机内只有加法硬件电路,叫加法器。当执行减法时,减法指令的操作码部分,经过操作码译码器译码后,会产生减法操作所需的一系列微操作信号,以控制加法电路按相应的逻辑顺序动作。具体学习一下计算机原理。

5-3不是5加上3的补码,是5加上-3的补码
0000 0101+1111 1101=0000 0010

加上一个负数

不是3的补码 而是5的补码加上-3的补码