搜索
写经验 领红包
 > 动物

无符号乘法怎么计算(无符号乘法在线计算)

在生活中,很多人可能想了解和弄清楚无符号乘法位运算详解的相关问题?那么关于无符号乘法怎么计算的答案我来给大家详细解答下。

无符号乘法怎么计算(无符号乘法在线计算)

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,就是完全的位运算了。

温馨提示:通过以上关于无符号乘法位运算详解内容介绍后,相信大家有新的了解,更希望可以对你有所帮助。