function IsPowerOfTwo($x) { return ($x & ($x - 1)) == 0; }
不信邪的尽管测试一下! 前提是正整数
或许这种方法更好理解一些:
function IsPowerOfTwo($x) { return ($x & -$x) == $x; }
对于一般情况,如3,可以这样:
while (n % 3 == 0) { n /= 3; } return n == 1;
标签
查看
384 次