通过在leetcode上面做题发现,位操作是一个非常实用但是容易被忽略的技巧。
所以在这篇文章中归纳常用的位操作基础和技巧,并通过例子来直观地理解位操作的实际应用。
在计算机中所有数据都是以二进制的形式储存的。位运算其实就是直接对在内存中的二进制数据进行操作,因此处理数据的速度非常快。在实际编程中,如果能巧妙运用位操作,完全可以达到四两拨千斤的效果。因此本文将对位操作进行如下方面总结:
一、位操作基础:用一张表描述位操作符的应用规则并详细解释。
二、常用位操作小技巧:判断奇偶、判断一个数是否是2的方幂、计算二进制中1的个数。
一、位操作基础
需要注意:
1、位操作只能用于整形数据,对float和double类型进行位操作会被编译器报错。
2、位操作符的运算优先级比较低,应尽量使用括号来确保运算顺序。
3、位操作还有一些复合操作符,如&=、|=、 ^=、<<=、>>=。
二、常用位操作小技巧
1、判断奇偶
只要根据最未位是0还是1来决定,为0就是偶数,为1就是奇数。因此可以用if ((a