cpu不是只会作加法运算么,那么数学中的乘法除法怎么弄?

 我来答
百度网友378f12c5f
2011-11-06 · TA获得超过296个赞
知道小有建树答主
回答量:442
采纳率:0%
帮助的人:360万
展开全部
曾经是,现在不是了。
从80486时代开始,CPU就有了专用的 乘法器/移位器 运算单元,
因此计算乘法并非是在 CPU 内作多次加法!
比如笔算十进制 12*23,列竖式的话
. 12
* 23
----
. 36
.24
----
.276
是拆成 12*3=36 和 12*2=24 ,然后将24移位,再相加,得276 。

减法是采用补码进行的一种运算,是特殊的加法。
至于除法,这个我实在没想清楚。不过,据说现在的cpu也有除法器了,听说也是移位器,具体的实在不清楚了,我也不是计算机专业的,汇编没学过啊

补充:刚查资料,通过汇编说明乘除法:
乘法:
被乘数移位加。
模拟 16bits 乘法用 x86 汇编语句描述如下:

xor eax,eax
mov ebx,16bits data
mov edx,16bits data
mov ecx,20H
clc
@@1:
shl eax,1
rol edx,1
jnc @@2
add eax,ebx
@@2:
loop @@1
next:

除法:
被除数移位减。。。
模拟除法用 x86 汇编语句描述如下:
xor eax,eax
mov ebx,divisor
mov edx,dividend
mov ecx,20H
@@1:
shld eax,edx,1
cmp eax,ebx
jl @@2
sub eax,ebx
inc edx
@@2:
loop @@1
next:

; 乘法的被乘数和乘数不需要区分
; 除法的被除数和除数必须区分,这和串连移位所使用的寄存器有关。余数存储在 EAX,商存储在 EDX

如果学过一点汇编,应该能看懂~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式