php位运算

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
原文地址:https://www.cnblogs.com/fubuki/p/9641777.html