
为什么二进制数的乘法运算可用加法来实现
1个回答
关注

展开全部
您好亲,除法与乘法类似,只不过将左移改为右移,加改成减。实际上减也是通过取补码后再加,不够减后就停止,得出余数。详细的是:(1)首先用“1”作为商试一下,相当于用“1”乘以除数“110”,然后把所得到的各位再与被除数的前4位“1001”相减。按照减法运算规则可以得到的余数为“011”。 (2)因为“011”与除数“110”相比,不足以被除,所以需要向低取一位,最终得到“0111”,此时的数就比除数“110”大了,可以继续除了。同样用“1”作为商去除,相当于用“1”去乘除数“110”,然后把所得的积与被除数中当前四位“0111”相减。根据以上介绍的减法运算规则可以得到此步的余数为“1”。
咨询记录 · 回答于2022-03-10
为什么二进制数的乘法运算可用加法来实现
您好亲,除法与乘法类似,只不过将左移改为右移,加改成减。实际上减也是通过取补码后再加,不够减后就停止,得出余数。详细的是:(1)首先用“1”作为商试一下,相当于用“1”乘以除数“110”,然后把所得到的各位再与被除数的前4位“1001”相减。按照减法运算规则可以得到的余数为“011”。 (2)因为“011”与除数“110”相比,不足以被除,所以需要向低取一位,最终得到“0111”,此时的数就比除数“110”大了,可以继续除了。同样用“1”作为商去除,相当于用“1”去乘除数“110”,然后把所得的积与被除数中当前四位“0111”相减。根据以上介绍的减法运算规则可以得到此步的余数为“1”。
(3)因为“1”要远比除数“110”小,被除数向前取一位后为“11”,仍不够“110”除,所以此时需在商位置上用“0”作为商了。 (4)然后在被除数上继续向前取一位,得到“110”。此时恰好与除数“110”完全一样,结果当然是用“1”作为商,用它乘以除数“110”后再与被除数相减,得到的余数正好为“0”。证明这两个数能够整除。 这样一来,所得的商(1101)2就是两者相除的结果。
您好亲以下内容信息仅供参考哦!
没有标准的答案嘛
计算机的乘法是"移位"->"相加"。举例来说: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个,一个横向加法器(结果寄存器);致于除法,就用移位减法的办法来实现的,原理与乘法相通。不够减后就停止,得出余数。
二进制乘法和加法都是通过对二进制数的移位来实现的,移位相当于×2,计算机算根据给出的加法式子与乘法式子算要移多少位。扩展:1、二进制数据的表示法二进制数据也是采用位置计数法,其位权是以2为底的幂。例如二进制数据110.11,其权的大小顺序为2^2、2^1、2^0、2^-1、2^-2。对于有n位整数,m位小数的二进制数据用加权系数展开式表示,可写为:(a(n-1)a(n-2)…a(-m))2=a(n-1)×2^(n-1)+a(n-2)×2^(n-2)+……+a(1)×2^1+a(0)×2^0+a(-1)×2^(-1)+a(-2)×2^(-2)+……+a(-m)×2^(-m)二进制数据一般可写为:(a(n-1)a(n-2)…a(1)a(0).a(-1)a(-2)…a(-m))2。注意:1.式中aj表示第j位的系数,它为0和1中的某一个数。2.a(n-1)中的(n-1)为下标,输入法无法打出所以用括号括住,避免混淆。3.2^2表示2的平方,以此类推。【例1102】将二进制数据111.01写成加权系数的形式。解:(111.01)2=(1×2^2)+(1×2^1)+(1×2^0)+(0×2^-1)+(1×2^-2)二进制和十六进制,八进制一样,都以二的幂来进位的。二进制数据的算术运算的基本规律和十进制数的运算十分相似。最常用的是加法运算和乘法运算。
您好亲以上内容仅供参考哦!
看不懂 不满意
您好亲,只能慢慢来学习了。
看不懂,能不能通俗一点!
1)二进制数的加法 根据“逢二进一”规则,二进制数加法的法则为: 0+0=00+1=1+0=11+1=0 (进位为1) 1+1+1=1 (进位为1) 2)二进制数的减法 根据“借一有二”的规则,二进制数减法的法则为: 0-0=01-1=01-0=10-1=1 (借位为1) 3)二进制数的乘法 二进制数乘法过程可仿照十进制数乘法进行。但由于二进制数只有0或1两种可能的乘数位,导致二进制乘法更为简单。二进制数乘法的法则为:0×0=00×1=1×0=01×1=1由低位到高位,用乘数的每一位去乘被乘数,若乘数的某一位为1,则该次部分积为被乘数;若乘数的某一位为0,则该次部分积为0。某次部分积的最低位必须和本位乘数对齐,所有部分积相加的结果则为相乘得到的乘积。 4)二进制数的除法 二进制数除法与十进制数除法很类似。可先从被除数的最高位开始,将被除数(或中间余数)与除数相比较,若被除数(或中间余数)大于除数,则用被除数(或中间余数)减去除数,商为1,并得相减之后的中间余数,否则商为0。再将被除数的下一位移下补充到中间余数的末位,重复以上过程,就可得到所要求的各位商数和最终的余数。