二进制数怎么相乘

2024-10-31 05:28:13
有5个网友回答
网友(1):

二进制数乘法的法则为:

0×0=0

0×1=1×0=0

1×1=1

由低位到高位,用乘数的每一位去乘被乘数,若乘数的某一位为1,则该次部分积为被乘数;若乘数的某一位为0,则该次部分积为0。某次部分积的最低位必须和本位乘数对齐,所有部分积相加的结果则为相乘得到的乘积。

二进制数的逻辑运算

逻辑“或”运算可用符号“+”或“∨”来表示。

逻辑“或”运算的规则如下:

0+0=0或0∨0=0

0+1=1或0∨1=1

1+0=1或1∨0=1

1+1=1或1∨1=1

可见,两个相“或”的逻辑变量中,只要有一个为1,“或”运算的结果就为1。仅当两个变量都为0时,或运算的结果才为0。计算时,要特别注意和算术运算的加法加以区别。

网友(2):

二进制数相乘可以直接按照十进制乘法进行,或者转化为十进制数后相乘,再将结果转化为二进制数。

下面结合具体两个实例加以说明:

(1)二进制数111乘以1011,乘数1011的每一位分别与乘数相乘,得到111、1110、00000、111000,将其加起来,得到1001101,这便是二进制乘法最直接的解求过程;也可以将111转化为十进制数7,1011转化为十进制数11,显然7乘以11等于77,再将十进制数77化为二进制数1001101,显然1x2^6+1x2^3+1x2^2+1x2^0=64+8+4+1=77,所求结果完全正确。

(2)在汇编语言的乘法指令中,其本质就是按照二进制的最直接的乘法运算法则进行的,同上述前一个过程中的算法过程一样。4EH和5DH在计算机中都以二进制代码存储,分别为1001110和1011101,求解的算法过程草稿如上图所示,得到的结果为1110001010110,将结果转化为十六进制数,即是1C56H。当然,这里也可以在乘法执行前,将乘数和被乘数转化为十进制,得到结果7254后再转化为二进制,最后再转为十六进制,过程会相对繁琐一些。

网友(3):

转化为二进制,在转化为十进制之后再相乘,在转化为十六进制,这样比较简单一点。。
4E=01001111=1*2^6+1*2^3+1*2^2+1*2^1+1*2^0=79
5D=01011110=1*2^6+1*2^4+1*2^3+1*2^2+1*2^1=94
所以4E*5D=79*94=7426
转化为十六进制为1C02H

网友(4):

小学数学小升初:分数与一个数相乘的简便计算

网友(5):

可能吧