一文读懂位运算

位运算是对二进制数直接进行的计算操作,包括按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、右移(>>)和无符号右移(>>>)。这些运算符在编程中有着广泛应用,例如清零、设置特定位、奇偶判断、数值交换等。了解并熟练运用位运算技巧,如x & (x - 1)用于检测是否为2的次幂,以及异或运算在找出数据集中出现次数为1的数字中的作用,对于提升编程技能和解决算法问题至关重要。
摘要由CSDN通过智能技术生成

概述在计算机程序中所有的数都是以二进制形式存储的。位运算就是直接对整数在二进制进行计算操作。作为一名程序员掌握位运算的基本使用是很重要的,而对于算法程序员来说,位运算的灵活使用能够更灵

运算符逻辑

按为与(&)

参加运算的两个数按二进制进行与运算。

0&0=0
0&1=0
1&1=1

 

用途:

清零

任何数与0做与运算结果都为0。

取指定位

比如要取一个数的低4位,则只需使用该数与(0000 1111)做与运行,结果就是这个数的低4位的值。

奇偶判断

只要二进制的末尾为0则是偶数,为1则为奇数。因此可用 (x&1)==0判断是否是偶数。

按位或(|)

参加运算的两个数按二进制进行或运算。

0|0=0
0|1=1
1|1=1

用途:

将某位设置为1

如X=0101,需要将第2位设置为1,结果变为0111,则只

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值