请问CPU的运算器是如何实现加减乘除四则运算、移位、逻辑判断的?

稍微通俗一点,谢谢~...
2026年09月19日 03:42
有2个网友回答
网友(1):

计算机中的各种运算,都是用硬件完成的。

CPU,即“中央处理单元”。其中,含有:运算器和控制器。

运算器,又称为 ALU (算术逻辑单元),其主要部分是加法器。

n 位加法器的逻辑电路图如下:

它有两个 n 位的二进制加数:An-1…A0 和 Bn-1…B0。

相加后,和,也是 n 位二进制数,即:Sn-1…S0。

此外,还有一个一位的进位,称为:Cn。

有了这个电路,CPU 不但可以做加法,而且还可以做减法!

用加法器完成减法运算的方法是很简单的,就是:舍弃进位!

例如做加法:7 + 15 = 22。

用四位加法器来运算,其过程和常规的算法相同,如下:

运算结果是:和数= 0 1 1 0 = 6、进位 = 1 = 16。

综合这五位数,正是:1 0 1 1 0 = 22。

正确无误!

假如你弄丢了进位,会怎样呢?

丢了进位,你就少算了 16,这就是:7 + 15-16 = 7-1 = 6 !

丢了进位,+15 就相当于-1 !

丢了进位,正数,就成了负数!

丢了进位,加法,就成了减法!

结论:只要你舍弃进位,用加法器,就能完成减法运算!

虽然,“+15”就是“-1”,看起来,不很直观。

但是,它们的关系,你一定能看出来:15 = 16 - 1。

通用的转换公式,就是:负数的补数 = 2^n + 负数。

如果你看不懂这些,你还是跟计算机老师去学“符号位原码反码取反加一符号位不变”吧。

但是,即使你背熟了那一套说法,你也不会懂得“计算机怎么做减法”。

为什么计算机专业老师总是拿那些来忽悠学生呢?

因为,计算机专业老师文化水平太洼,弄不明白小学算术题。他们只会跟风老外!

~~~~~~~~~~~~~~~~~

虽然,乘法,可以用连加来完成,减法,也可以用连减来实现。但是,这么做就太慢了。

电子技术专业工程师,早已用逻辑电路设计出来了:乘法器电路、除法器电路。

用这些运算电路,就可以快速完成“加减乘除、与或非、移位”等等运算。

这些基本运算器,都集成在 CPU 芯片中,称为:算术逻辑单元(ALU)。

具体电路过于复杂,就不必深究了。

网友(2):

所有计算都由指令集实现.
CPU只输出纯2进位0和1.
比如1+1那么指令集编写时候就会写入2.以后1+1直接就运算出2的结果.
所以不管什么计算.其实在指令集里面都存在逻辑计算结果.也就是先前就已经得出了.
只等你输入而已.