java代码判断数字是否是2的n次方,java次方,在一些软件场景中我们需要
分享于 点击 14195 次 点评:119
java代码判断数字是否是2的n次方,java次方,在一些软件场景中我们需要
在一些软件场景中我们需要数字必须是2的n次方, java的Integer类提供了numberOfLeadingZeros可以帮我们判断一个数字是否是2的n次方。
如下代码片段:
static boolean is2nPower(int x) { int bitLeft = Integer.numberOfLeadingZeros(x); int bitLength = 31 - bitLeft; int shouldBe = 1 << bitLength; return (shouldBe == x); }
此方法的性能很好, 判断所有正整数的时间为2s左右。
用户点评