位运算实现判断奇偶、取余、乘除等运算

本文深入探讨了位运算在判断奇偶数、取余运算及实现乘除法中的高效应用,详细介绍了如何通过位运算提高代码执行效率,适用于需要大量数值运算的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、位运算判断奇偶数

利用位运算,取数字二进制的最后一位再进行判断

if((K & 1) == 1)
{
    //K为奇数
}
else
{
	//K为偶数
}

位运算的优先级最低,但是运算速度却最快,所以用 i & 1判断奇偶,要比用i%2==1来判断大约快4倍。在一个要执行上万次的for循环里,能明显提升判断效率。

2、位运算取余(模)

对除数为2、4、8…这类(2的i次方)取余的运算可以利用位运算:

被除数除数余数
K2K & 1
K4K & 3
K8K & 7
K16K & 15
K
K2^iK & ( 2^i - 1)

仔细研究发现,其实 & 运算就是截取了 K 的二进制的后 i 位,也就是余数。
位运算判断奇偶数,是除数为 2 的取余运算的应用。

3、位运算实现乘除法

通过对数字 K 的 右移 >> 和左移 << 运算可以实现整数除和乘法运算,详细介绍见:
位运算实现乘除法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值