> 动物
无符号乘法怎么计算(无符号乘法在线计算)
在生活中,很多人可能想了解和弄清楚无符号乘法位运算详解的相关问题?那么关于无符号乘法怎么计算的答案我来给大家详细解答下。
1010x1001
=1010x(1000+1)
=1010x1000+1010x1
=1011010
由上面的例子可以看出两个二进制数相乘的规律
乘数可以把有1的位拆分出来,一一与被乘数相乘后再相加,就能得到最终的积
每个拆分出来的位值与被乘数相乘的结果,都是被乘数与之对应的位移值
(返回值积c)位运算乘法(被乘数a,乘数b)
c=0,d=1
循环开始
如果b&d不等0,则执行c=c+a
a=a<<1
d=d<<1
d不等0?
结束循环返回c,c是a x b的积
如果d不等0,则回到循环开始的地方继续循环
如果d等于0,则结束循环返回c
d从1开始,不断左移,不断得到一个只有一个位值是1的数,
b&d等0,说明乘数b对应d有1的位值是0,对积没影响,不参与运算
b&d不等0,则要参与运算,该位与被乘数a的积正好是a左移出来的值
所有a对应乘数b有1的位,左移出来的值相加,得到的和就是a x b的积c
d等于0说明不断左移的d已经溢出,乘数b的每一位值都已经查验完,循环结束
把之前说的加法位运算代入c=c+a,就是完全的位运算了。
温馨提示:通过以上关于无符号乘法位运算详解内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。