Guava LongMath 工具类
LongMath
提供 long 基础类型的实用方法。
一、类声明
以下是 com.google.common.math.LongMath
类的声明:
@GwtCompatible(emulated=true) public final class LongMath extends Object
二、类方法
官方文档:https://google.github.io/guava/releases/27.0.1-jre/api/docs/com/google/common/math/LongMath.html
修饰符和类型 | 方法说明 |
---|---|
static long | binomial(int n, int k) 二项式系数, 如果结果不适合int,则返回 Long.MAX_VALUE. |
static long | ceilingPowerOfTwo(long x) 返回大于或等于x的最小2的幂. |
static long | checkedAdd(long a, long b) 返回a和b的总和,前提是它不会溢出。 |
static long | checkedMultiply(long a, long b) 返回a和b的乘积,前提是它不会溢出。 |
static long | checkedPow(long b, int k) 如果没有溢出,则将b返回到k次幂。 |
static long | checkedSubtract(long a, long b) 返回a和b的差值,前提是它没有溢出。 |
static long | divide(long p, long q, RoundingMode mode) 返回将p除以q的结果,使用指定的RoundingMode进行舍入. |
static long | factorial(int n) 返回n !,即前n个正整数的乘积,如果n == 0则为1,如果结果不适合长,则返回Long.MAX_VALUE. |
static long | floorPowerOfTwo(long x) 返回小于或等于x的最大2的幂. |
static long | gcd(long a, long b) 返回a,b的最大公约数。 |
static boolean | isPowerOfTwo(long x) 如果x表示2的幂,则返回true。 |
static boolean | isPrime(long n) 是否素数。 |
static int | log10(long x, RoundingMode mode) 10的对数,根据指定的舍入模式进行舍入。 |
static int | log2(long x, RoundingMode mode) 2的对数,根据指定的舍入模式进行舍入. |
static long | mean(long x, long y) 返回x和y的算术平均值,舍入为负无穷大。 |
static int | mod(long x, int m) 返回x mod m。整数除以x的余数。 |
static long | mod(long x, long m) 返回x mod m。整数除以x的余数。 |
static long | pow(long b, int k) 将b返回到第k个幂. |
static long | saturatedAdd(long a, long b) 返回a和b的总和,除非它会溢出或下溢,在这种情况下分别返回Long.MAX_VALUE或Long.MIN_VALUE。 |
static long | saturatedMultiply(long a, long b) 返回a和b的乘积,除非它会溢出或下溢,在这种情况下分别返回Long.MAX_VALUE或Long.MIN_VALUE. |
static long | saturatedPow(long b, int k) 将b返回到第k个幂,除非它会溢出或下溢,在这种情况下分别返回Long.MAX_VALUE或Long.MIN_VALUE. |
static long | saturatedSubtract(long a, long b) 返回a和b的差值,除非它会溢出或下溢,在这种情况下分别返回Long.MAX_VALUE或Long.MIN_VALUE. |
static long | sqrt(long x, RoundingMode mode) 返回x的平方根,使用指定的舍入模式进行舍入。 |
三、测试类
LongMath
具有 Long
值的实用程序。大多数操作类似于 IntMath
实用程序,此处描述的例外情况很少。
public void test_mod() { int result = LongMath.mod(30L, 4); assertEquals(2, result); long result2 = LongMath.mod(30L, 4L); assertEquals(2L, result2); }
四、相关文章
未经允许请勿转载:程序喵 » Google Guava 快速入门 —— 【数学运算工具】LongMath 类