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

问题描述:

计算机中二进制的乘法和除法如何用加法来实现的
1个回答 分类:数学 2014-10-23

问题解答:

我来补答
计算机的乘法是"移位"->"相加".举例来说: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个,一个横向加法器(结果寄存器);
致于除法,就用移位减法的办法来实现的,原理与乘法相通.不够减后就停止,得出余数.
 
 
展开全文阅读
剩余:2000
上一页:合外力做功,