📌  相关文章
📜  Java番石榴 | isPowerOfTwo(long x) LongMath 类的例子(1)

📅  最后修改于: 2023-12-03 15:32:04.162000             🧑  作者: Mango

Java番石榴 | isPowerOfTwo(long x) LongMath 类的例子

在 Java 编程中,有时需要判断一个数是否为 2 的整数次幂。Guava 库(Google Guava: https://github.com/google/guava)的 LongMath 类中提供了 isPowerOfTwo(long x) 方法,可以快速判断一个 long 型整数是否为 2 的整数次幂。

使用方法
import com.google.common.math.LongMath;

boolean result = LongMath.isPowerOfTwo(x);

该方法的返回值为 boolean 类型,表示是否为 2 的整数次幂,其中:

  • 如果 x 是 2 的整数次幂,则返回 true;
  • 否则返回 false。
示例代码
import com.google.common.math.LongMath;

public class Main {
    public static void main(String[] args) {
        long x = 1024L; // 2^10
        
        boolean result = LongMath.isPowerOfTwo(x);
        
        System.out.println(result); // true
    }
}
注意事项
  • 方法参数为 long 类型,不能传入 int 类型;
  • long 类型取值范围为 -2^63 到 2^63-1,如果超出范围可能会出现错误结果;
  • 该方法在 Guava 库的 11 版本中已被弃用,在后续版本中可能会被删除。建议使用其他方法代替。