- &:二进制的与运算符。
- |:二进制的或运算符。
- ^:二进制的异或运算符。
- ~:二进制的取反运算符,所有位都取反。
<<
:二进制的按位左移运算符,有符号数左移后符号位不变。>>
:二进制的按位右移运算符,有符号数右移后符号位不变。
假设有两个(int)整数A和B。其中B为2^n,n>=0。
优化乘法:A = A * B,可以使用<<位运算符,A << n。举个栗子:A = A * 4 可以变为 A << 2。
优化除法:A = A / B,可以使用>>位运算符,A >> n。举个栗子:A = A / 4 可以变为 A >> 2。
优化取模:A = A % B,可以使用&位运算符,A & (B-1)。举个栗子:A = A % 4 可以变为 A & (4-1) 。(注意:优化取模要求A≥0)
奇偶校验:A & 1 = 0,A为偶数;A & 1 = 1,A为奇数。