php位运算


php位运算

/**
 * 位运算
 */
echo "
";
$a = 15; //00001111
$b = 3;  //00000011
$c = 12; //00001100

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