php手册 位运算符 二进制原码,反码,补码解释 二进制转十进制
位运算符
例子 名称 结果
$a & $b And(按位与) 将把 $a 和 $b 中都为 1 的位设为 1。
$a | $b Or(按位或) 将把 $a 和 $b 中任何一个为 1 的位设为 1。
$a ^ $b Xor(按位异或) 将把 $a 和 $b 中一个为 1 另一个为 0 的位设为 1。
~ $a Not(按位取反) 将 $a 中为 0 的位设为 1,反之亦然。
$a << $b Shift left(左移) 将 $a 中的位向左移动 $b 次(每一次移动都表示“乘以 2”)。
$a >> $b Shift right(右移) 将 $a 中的位向右移动 $b 次(每一次移动都表示“除以 2”)
And 按位与 案例
1 & 2 = 0 二进制 1 = 0001 2 = 0010 运算 0010 0001 ——— 0000 10 & 2 = 10 二进制 10 = 1010 2 = 0010 运算 1010 0010 ——— 1010 将把 $a 和 $b 中都为 1 的位设为 1。
Or(按位或)
案例 1 | 2 = 3 1 = 0001 2 = 0010 0001 0010 0011 = 3 将把 $a 和 $b 中任何一个为 1 的位设为 1。
xor (按位异或)
案例 1 ^ 2 = 3 二进制 1 = 0001 2 = 0010 运算 0001 0010 ———— 0011 案例 10 ^ 2 = 8 10 = 1010 2 = 0010 1010 0010 ———— 1000
|