PHP 基础代码之 19 Bitwise Operators
实战需求
按位排列的运算符可以操作数字的二进制数字。例如,xor运算符(^)打开在操作符的一侧设置的位,而不是在两侧设置的位。
解决方案
$x = 5 & 4; // 101&100=100 (4) // and
$x = 5 | 4; // 101|100=101 (5) // or
$x = 5 ^ 4; // 101^100=001 (1) // xor (exclusive or)
$x = 4 << 1; // 100<<1=1000 (8) // left shift
$x = 4 >> 1; // 100>>1=10 (2) // right shift
$x = ~4; // ~00000100=11111011 (-5) // invert
这些位运算符有简记赋值运算符,就像算术算符一样。
$x=5; $x &= 4; // 101&100=100 (4) // and
$x=5; $x |= 4; // 101|100=101 (5) // or
$x=5; $x ^= 4; // 101^100=001 (1) // xor
$x=5; $x <<= 1; // 101<<1=1010 (10)// left shift
$x=5; $x >>= 1; // 101>>1=10 (2) // right shift
请注意,与位进制运算符一起使用的十进制数会自动以二进制形式计算。二进制表示法也可用于为按位排列的操作指定二进制数。
$x = 0b101 & 0b100; // 0b100 (4)
加入我们共同交流
群名称:PHP源码大全
QQ群号:907415141