📅  最后修改于: 2023-12-03 14:43:01.885000             🧑  作者: Mango
IntMath是Google Guava库中的一个类,提供了一些处理int类型数值的静态方法。其中,isPowerOfTwo(int x)方法用于判断一个整数是否是2的幂次方。
方法签名:
public static boolean isPowerOfTwo(int x)
方法作用: 判断一个整数是否是2的幂次方。如果是,返回true;否则,返回false。
方法实现:
public static boolean isPowerOfTwo(int x) {
return x > 0 && (x & (x - 1)) == 0;
}
isPowerOfTwo方法的实现非常简单,首先判断x是否大于0,然后使用位运算对x和x-1进行按位与运算。如果结果等于0,则x是2的幂次方,否则不是。
以下是isPowerOfTwo方法的示例代码:
import com.google.common.math.IntMath;
public class IntMathDemo {
public static void main(String[] args) {
int x = 16;
boolean result = IntMath.isPowerOfTwo(x);
System.out.println(x + " is power of two: " + result);
}
}
输出结果为:
16 is power of two: true