代码语言:c复制
求n的第k位数字: n >> k & 1
返回n的最后一位1:lowbit(n) = n & -n
程序中的所有数在计算机内存中都是以二进制的形式存储的。位运算就是直接对整数在内存中的二进制位进行操作
含义 | Pascal语言 | C语言 | Java | Php |
---|---|---|---|---|
按位与 | a and b | a & b | a & b | a & b |
按位或 | a or b | a | b | a | b | a | b |
按位异或 | a xor b | a ^ b | a ^ b | a ^ b |
按位取反 | not a | ~a | ~a | ~a |
左移 | a shl b | a <<b | a <<b | a << b |
带符号右移 | a shr b | a >> b | a >> b | a >> b |
无符号右移 | / | / | a>>> b | / |