二进制乘除法运算原理

本文探讨了二进制乘除法的基本原理,指出在计算机中,乘法可通过加法和移位操作实现。详细解释了二进制乘法的过程,并提供了二进制除法的实现方式,通过位移和比较逐步完成除法运算。
摘要由CSDN通过智能技术生成

二进制乘除法原理

计算机所能完成的最基本操作是加减法和左右移。
虽然ISA中一般都有MUL类指令,但是这些经过译码之后最终的元操作还是加法和移位指令。

二进制乘法

假设不能使用乘除运算求a×b的结果,当a=b=123时,最直接的方法是通过88个88相加。但是,我们不难发现这样的规律:
123 × 123 = (100+20+3)×123 = (100×123) + (20 × 123) + (3 × 123)
因此,我们需要进行计算的次数为min(len(a), len(b))
根据这个原理,不难想出二进制的乘法运算:
0011 * 1001 = ( 0011 * 1000)+( 0011 * 0001)
注意,这时应该使用位移运算来取代乘法运算:
0011*1000 => 3<<3
0011 * 0001 => 3<<0

//不用乘除做整数乘法运算
int Mult(int a
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值