×

谈谈二进制的乘法和除法

作者:Terry2017.05.26来源:Web前端之家浏览:18617评论:0
关键词:二进制

1231-恢复的.png

上一节我们说到“计算机中数的运算(源码,反码,补码)”,这节我们谈谈二进制的乘法和除法。

乘法:(被乘数)1100*(乘数)110

实现方法:由左到右依次判断乘数的值,如果值为1,就加上被乘数到部分积,之后部分积左移一位,如果值为0,部分积左移一位,直到判断到乘数最后一位。

部分积:(00000000)初始化一个部分积,为你们方便观看。

乘数第一位1

部分积加被乘数为:1100

然后左移一位:11000

乘数第二位1

部分积加被乘数为:100100

然后左移一位:1001000

乘数第三位0

部分积不做操作,而且已经最后一位,不做移位

最后1100*110=1001000

除法:(被除数)1100/(除数)110

实现方法:被除数为A,除数为B,商为C,余数为D;

A由左到右左移进入D。每次移位后比较D和B的值

如果D大于等于B,则商加上1,反之加0,然后从D中减去B(),直到A全部移完为止。最后C存放的商,D存放的余数。

第一步

A=1100 左移进入D,A=100

D=1 B=110;D<B;

C=0

第二步

A=100 左移进入D,A=00

D=11 B=110 D≥B成立;

11-110=0

D=0

C=01

第三步

A=00左移进入D,A=0

D=0 B=110 D<B

C=010

第四步

A=0左移进入D,A完毕

D=0 B=110;D<B;

最后:C为=010=10 ;D为0

所以1100/110=10;商为10,余数为0

您的支持是我们创作的动力!
温馨提示:本文作者系Terry ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/codeYuanmaList2.html

网友评论文明上网理性发言已有0人参与

发表评论: