Google Guava 快速入门 —— 【数学运算工具】LongMath 类

Google Guava 快速入门.jpg

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 longbinomial(int n, int k) 
二项式系数, 如果结果不适合int,则返回 Long.MAX_VALUE.
static longceilingPowerOfTwo(long x) 
返回大于或等于x的最小2的幂.
static longcheckedAdd(long a, long b) 
返回a和b的总和,前提是它不会溢出。
static longcheckedMultiply(long a, long b) 
返回a和b的乘积,前提是它不会溢出。
static longcheckedPow(long b, int k) 
如果没有溢出,则将b返回到k次幂。
static longcheckedSubtract(long a, long b) 
返回a和b的差值,前提是它没有溢出。
static longdivide(long p, long q, RoundingMode mode) 
返回将p除以q的结果,使用指定的RoundingMode进行舍入.
static longfactorial(int n) 
返回n !,即前n个正整数的乘积,如果n == 0则为1,如果结果不适合长,则返回Long.MAX_VALUE.
static longfloorPowerOfTwo(long x) 
返回小于或等于x的最大2的幂.
static longgcd(long a, long b) 
返回a,b的最大公约数。
static booleanisPowerOfTwo(long x) 
如果x表示2的幂,则返回true。
static booleanisPrime(long n) 
是否素数。
static intlog10(long x, RoundingMode mode) 
10的对数,根据指定的舍入模式进行舍入。
static intlog2(long x, RoundingMode mode) 
2的对数,根据指定的舍入模式进行舍入.
static longmean(long x, long y) 
返回x和y的算术平均值,舍入为负无穷大。
static intmod(long x, int m) 
返回x mod m。整数除以x的余数。
static longmod(long x, long m) 
返回x mod m。整数除以x的余数。
static longpow(long b, int k) 
将b返回到第k个幂.
static longsaturatedAdd(long a, long b) 
返回a和b的总和,除非它会溢出或下溢,在这种情况下分别返回Long.MAX_VALUE或Long.MIN_VALUE。
static longsaturatedMultiply(long a, long b) 
返回a和b的乘积,除非它会溢出或下溢,在这种情况下分别返回Long.MAX_VALUE或Long.MIN_VALUE.
static longsaturatedPow(long b, int k) 
将b返回到第k个幂,除非它会溢出或下溢,在这种情况下分别返回Long.MAX_VALUE或Long.MIN_VALUE.
static longsaturatedSubtract(long a, long b) 
返回a和b的差值,除非它会溢出或下溢,在这种情况下分别返回Long.MAX_VALUE或Long.MIN_VALUE.
static longsqrt(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 类

点  赞 (0) 打  赏
分享到: