二进制乘法可通过以下两种方法实现:
一、逐位相乘法(与十进制乘法类似)
基本规则 0×0=0,0×1=0,1×0=0,1×1=1,其他情况按十进制乘法规则进行。
计算步骤
- 从乘数最低位开始,用每一位分别乘以被乘数,得到部分积;
- 部分积的最低位与乘数对应位对齐;
- 将所有部分积相加,得到最终结果。
示例: 计算111×1011 111×1=111 111×0=000(对齐后为00000) 111×1=111(对齐后为000111) 111×1=111(对齐后为111000)
相加得1001101。
二、位移法(基于二进制特性)
核心原理
二进制数乘以2的幂次相当于左移该幂次位数。例如,乘以2相当于左移1位,乘以4相当于左移2位,以此类推。
计算步骤
- 将乘数分解为二进制位(如1011=1×2³+0×2²+1×2¹+1×2⁰);
- 分别计算被乘数与2的幂次的乘积(如111×8=111000);
- 将所有结果相加。
示例: 计算111×1011 111×8=111000(1×2³) 111×2=222(1×2¹) 111×1=111(1×2⁰)
相加得1001101。
总结
逐位相乘法适合小数乘法,步骤直观但效率较低;
位移法利用二进制特性,效率更高,适用于计算机底层运算。