php位运算
/**
* 位运算
*/
echo "<pre>";
$a = 15; //00001111
$b = 3; //00000011
$c = 12; //00001100
$aa = $a&$b; //按位与,相同位都为1时为1,其他都为0;
echo "& 相同位都为1时为1,其他都为0;".$aa; //结果3
echo "<br>";
$bb = $a|$b; //按位或,相同位有1为1,全0为0;
echo "| 相同位有1为1,全0为0;".$bb; //结果15
echo "<br>";
$cc = $a^$b; //按位异或,相同的位变0,不同的位变1;
echo "^ 相同的位变0,不同的位变1;".$cc; //结果12
echo "<br>";
$dd = ~$a; //按位取反 正负符号也变
//11111111111111111111111111110000
//注:在计算机中,负数以其正值的补码形式表达
//由于最前面的数为1,符号位为1,即为负数,所以,以其正值的补码形式表示为:(符号位不变,按位取反,末尾加1)
//10000000000000000000000000010000
echo '~ 按位取反;'.$dd; //结果-16