计算机中二进制的乘法和除法如何用加法来实现的

 我来答
Sunray
2011-08-13 · TA获得超过290个赞
知道小有建树答主
回答量:258
采纳率:0%
帮助的人:126万
展开全部
计算机的乘法是"移位"->"相加"。举例来说:1010*0011=?
a=1010; b=0011。那个是乘数,那个是被乘数都没关系,不加区别;
先看b的最高位,=0,则移位a,并乘以0;次高位=0,同理,...
得出四个数,分别是0000,0000,1010,1010。我们按顺序相加:
0 x1010=0000最高位:0000---(千位移三位)
0 x1010=0000次高位:-0000--(百位移两位)
1 x1010=1010次低位:--1010-(十位移一位)
1 x1010=1010最低位:---1010(个位不移位)
--------------------------------------------------------
结果是:------------------0011110
(看到最左侧了么?从高到低就是0011)
即:a=10(十进制),b=3(十进制),结果=30(十进制),就是二进制的0011110=0x1E(十六进制)。其中包含一个重要的硬件:列向错位加法器7个,一个横向加法器(结果寄存器);
致于除法,就用移位减法的办法来实现的,原理与乘法相通。不够减后就停止,得出余数
iker_casillas
2011-08-11 · TA获得超过1992个赞
知道小有建树答主
回答量:582
采纳率:100%
帮助的人:887万
展开全部
计算机中的二进制乘法和除法不是只用加法来实现的,也就是并不是把乘除化成加法。
CPU里有乘法器,可以完成二进制的乘法运算。如果是浮点数的运算,CPU里有浮点运算单元,可以完成。
CPU里完成整数或浮点数的乘法是用硬件完成的,实现的具体的思路你可以百度一下“乘法器”。

当然,如果你想用加法实现的话,可以用移位运算和加法配合,这个是很容易的。

记得采纳~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2025-10-01 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3.2万
采纳率:86%
帮助的人:8797万
展开全部

二进制乘法,和十进制乘法,是一毛一样的。

十进制乘法,你是怎么运算的? 二进制乘法,你也怎么运算便是!

只有在做加法时,才要用到:逢二进一。

例如,乘法运算:-23 × 5 = -115。

用二进制如下计算便是。

    1 0 1 1 1 = 23

  ×   1 0 1 = 5

----------

    1 0 1 1 1

   0 0 0 0 0

  1 0 1 1 1

----------

  1 1 1 0 0 1 1 = 115。

如果两个乘数的符号相同,乘积的符号,就取正号(+),否则便是负号(-)。

所以,本例题的二进制算法就是:- 10111 × 101 = - 111 0011。

乘法运算的具体计算方法,不过就是:移位、相加。

这个方法步骤,用“加法器、移位寄存器”来实现,是相当容易的。

可参考如下逻辑图:

虽然容易实现,但是对于计算机专业来说,却是毫无意义的事!

说到计算机的硬件,则是电子技术专业的领域了。

计算机专业的老师说这些,不过就是:窝窝头翻个,显个大 P 眼而已。


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式