今天一同事给我发了一个和位运算相关的问题,才发现原来我也不记得位运算的规则了,趁这次机会再捡起来。
位运算符允许对整型数中指定的位进行求值和操作。
例子 | 名称 | 结果 |
$a & $b | and(按位与) | 将$a和$b中都为1的位设为1 |
$a | $b | or(按位或) | 将$a和$b中任何一个为1的为设为1 |
$a ^ $b | Xor(按位异或) | 将$a和$b中一个为0另一个为1的位设为1 |
~ $a | Not(按位取反) | 将$a中为0的位设为1,反之亦然 |
$a << $b | Shift left(左移) | 将$a中的位向左移动$b次(每一次移动都表示“乘以2”) |
$a >> $b | shift right(右移) | 将$a中的位向右移动$b次(每一次移动都代表“除以2”) |