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”)。

位的概念,比如:

4的32位:00000000000000000000000000000100

4的64位:0000000000000000000000000000000000000000000000000000000000000100

理解了位的概念,再来看上面的位运算符,就好理解了。 下面参考资料可以好好看看,会理解的更透彻。






参考资料

http://php.net/manual/zh/language.operators.bitwise.php

http://www.jb51.net/article/108191.htm


返回