位运算的一些应用
1.判断是否是2的指数
function index(int $number)
{if($number <= 0) {return false;}return 0 == ($number & ($number - 1));
}
2.计算汉明权重(就是二进制中有多少个1)
function weights($n)
{$res = 0;while (0 != $n) {$n = $n & ($n - 1);++$res;}return $res;
}
- 不用增加变量,交换两个变量的值
$a = 3;
$b = 5;
$a ^= $b;
$b ^= $a;
$a ^= $b;
echo $a,'===', $b;
更多推荐
位运算的一些应用
发布评论