java中大数的计算BigInteger和BigDecimal两个类的常用方法

简介: java中大数的计算BigInteger和BigDecimal两个类的常用方法

1、BigInteger

Modifier and Type Method and Description
BigInteger abs()

返回一个BigInteger,它的值是此BigInteger的绝对值。

BigInteger add(BigInteger val)

返回值为 (this + val)

BigInteger and(BigInteger val)

返回值为 (this & val)

BigInteger andNot(BigInteger val)

返回值为 (this & ~val)

int bitCount()

返回与其符号位不同的BigInteger的二进制补码表示中的位数。

int bitLength()

返回此BigInteger的最小二进制补码表示中的位数, 包括符号位。

byte byteValueExact()

将此 BigInteger转换为 byte ,检查丢失的信息。

BigInteger clearBit(int n)

返回一个BigInteger,其值等于此BigInteger,指定的位被清零。

int compareTo(BigInteger val)

将此BigInteger与指定的BigInteger进行比较。

BigInteger divide(BigInteger val)

返回值为 (this / val)

BigInteger[] divideAndRemainder(BigInteger val)

返回两个BigInteger的数组,其中包含 (this / val)后跟 (this % val)

double doubleValue()

将此BigInteger转换为 double

boolean equals(Object x)

将此BigInteger与指定的对象进行比较以实现相等。

BigInteger flipBit(int n)

返回一个BigInteger,其值等于此BigInteger,指定的位被翻转。

float floatValue()

将此BigInteger转换为 float

BigInteger gcd(BigInteger val)

返回一个BigInteger,其值是 abs(this)abs(val)

int getLowestSetBit()

返回此BigInteger中最右(最低位)一位的索引(最右边一位右侧的零位数)。

int hashCode()

返回此BigInteger的哈希码。

int intValue()

将此BigInteger转换为 int

int intValueExact()

将此 BigInteger转换为 int ,检查丢失的信息。

boolean isProbablePrime(int certainty)

返回 true如果这个BigInteger可能是素数, false如果它是绝对复合。

long longValue()

将此BigInteger转换为 long

long longValueExact()

将此 BigInteger转换为 long ,检查丢失的信息。

BigInteger max(BigInteger val)

返回此BigInteger和 val

BigInteger min(BigInteger val)

返回此BigInteger和 val

BigInteger mod(BigInteger m)

返回值为 (this mod m )。

BigInteger modInverse(BigInteger m)

返回值为 (this-1mod m)

BigInteger modPow(BigInteger exponent, BigInteger m)

返回值为 (thisexponent mod m)的BigInteger 。

BigInteger multiply(BigInteger val)

返回值为 (this * val)

BigInteger negate()

返回值为 (-this)

BigInteger nextProbablePrime()

返回大于这个 BigIntegerBigInteger的第一个整数。

BigInteger not()

返回值为 (~this)

BigInteger or(BigInteger val)

返回值为 (this | val)

BigInteger pow(int exponent)

返回值为 (thisexponent)的BigInteger 。

static BigInteger probablePrime(int bitLength, Random rnd)

返回一个正的BigInteger,它可能是素数,具有指定的位长度。

BigInteger remainder(BigInteger val)

返回值为 (this % val)

BigInteger setBit(int n)

返回一个BigInteger,其值等于具有指定位集合的BigInteger。

BigInteger shiftLeft(int n)

返回值为 (this << n)

BigInteger shiftRight(int n)

返回值为 (this >> n)

short shortValueExact()

将此 BigInteger转换为 short ,检查丢失的信息。

int signum()

返回此BigInteger的signum函数。

BigInteger subtract(BigInteger val)

返回值为 (this - val)

boolean testBit(int n)

返回 true当且仅当指定的位被设置。

byte[] toByteArray()

返回一个包含此BigInteger的二进制补码表示的字节数组。

String toString()

返回此BigInteger的十进制字符串表示形式。

String toString(int radix)

返回给定基数中BigInteger的String表示形式。

static BigInteger valueOf(long val)

返回一个BigInteger,其值等于指定的 long

BigInteger xor(BigInteger val)

返回值为 (this ^ val)

2、BigDecimal

Modifier and Type Method and Description
BigDecimal abs()

返回一个 BigDecimal ,其值为此 BigDecimal的绝对值,其缩放比例为 this.scale()

BigDecimal abs(MathContext mc)

返回一个 BigDecimal ,其值为此 BigDecimal的绝对值,根据上下文设置进行舍入。

BigDecimal add(BigDecimal augend)

返回 BigDecimal ,其值是 (this + augend) ,其标为 max(this.scale(), augend.scale())

BigDecimal add(BigDecimal augend, MathContext mc)

返回 BigDecimal ,其值是 (this + augend) ,根据上下文设置进行舍入。

byte byteValueExact()

将此 BigDecimal转换为 byte ,检查丢失的信息。

int compareTo(BigDecimal val)

将此 BigDecimal与指定的BigDecimal进行 BigDecimal

BigDecimal divide(BigDecimal divisor)

返回BigDecimal ,其值为(this / divisor) ,优先级为(this.scale() - divisor.scale()) ; 如果不能表示确切的商(因为它具有非终止的十进制扩展),则抛出一个ArithmeticException

BigDecimal divide(BigDecimal divisor, int roundingMode)

返回 BigDecimal ,其值是 (this / divisor) ,其标为 this.scale()

BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)

返回一个 BigDecimal ,其值为 (this / divisor) ,其比例为指定。

BigDecimal divide(BigDecimal divisor, int scale, RoundingMode roundingMode)

返回一个 BigDecimal ,其值为 (this / divisor) ,其比例为指定。

BigDecimal divide(BigDecimal divisor, MathContext mc)

返回 BigDecimal ,其值是 (this / divisor) ,根据上下文设置进行舍入。

BigDecimal divide(BigDecimal divisor, RoundingMode roundingMode)

返回 BigDecimal ,其值是 (this / divisor) ,其标为 this.scale()

BigDecimal[] divideAndRemainder(BigDecimal divisor)

返回一个两元件 BigDecimal阵列含有的结果 divideToIntegralValue接着的结果 remainder上的两个操作数。

BigDecimal[] divideAndRemainder(BigDecimal divisor, MathContext mc)

返回一个两元件 BigDecimal阵列含有的结果 divideToIntegralValue接着的结果 remainder上与根据上下文设置进行舍入计算出的两个操作数。

BigDecimal divideToIntegralValue(BigDecimal divisor)

返回一个 BigDecimal ,它的值是 BigDecimal的整数部分 (this / divisor)取整。

BigDecimal divideToIntegralValue(BigDecimal divisor, MathContext mc)

返回值为 BigDecimal的整数部分的 (this / divisor)

double doubleValue()

将此 BigDecimal转换为 double

boolean equals(Object x)

将此 BigDecimal与指定的 Object进行比较以获得相等性。

float floatValue()

将此 BigDecimal转换为 float

int hashCode()

返回此 BigDecimal的哈希码。

int intValue()

将此 BigDecimal转换为 int

int intValueExact()

将此 BigDecimal转换为 int ,检查丢失的信息。

long longValue()

将此 BigDecimal转换为 long

long longValueExact()

将此 BigDecimal转换为 long ,检查丢失的信息。

BigDecimal max(BigDecimal val)

返回此 BigDecimalval

BigDecimal min(BigDecimal val)

返回此 BigDecimalval

BigDecimal movePointLeft(int n)

返回一个 BigDecimal ,相当于这个小数点,向左移动了 n个地方。

BigDecimal movePointRight(int n)

返回一个 BigDecimal ,相当于这个小数点移动了 n个地方。

BigDecimal multiply(BigDecimal multiplicand)

返回 BigDecimal ,其值是 (this × multiplicand),其标为 (this.scale() + multiplicand.scale())

BigDecimal multiply(BigDecimal multiplicand, MathContext mc)

返回 BigDecimal ,其值是 (this × multiplicand),根据上下文设置进行舍入。

BigDecimal negate()

返回 BigDecimal ,其值是 (-this) ,其标为 this.scale()

BigDecimal negate(MathContext mc)

返回 BigDecimal ,其值是 (-this) ,根据上下文设置进行舍入。

BigDecimal plus()

返回 BigDecimal ,其值是 (+this) ,其标为 this.scale()

BigDecimal plus(MathContext mc)

返回 BigDecimal ,其值是 (+this) ,根据上下文设置进行舍入。

BigDecimal pow(int n)

返回 BigDecimal ,其值是 (thisn),该电源,准确计算,使其具有无限精度。

BigDecimal pow(int n, MathContext mc)

返回 BigDecimal ,其值是 (thisn)。

int precision()

返回此 BigDecimalBigDecimal

BigDecimal remainder(BigDecimal divisor)

返回 BigDecimal ,其值是 (this % divisor)

BigDecimal remainder(BigDecimal divisor, MathContext mc)

返回 BigDecimal ,其值是 (this % divisor) ,根据上下文设置进行舍入。

BigDecimal round(MathContext mc)

返回 BigDecimal根据四舍五入 MathContext设置。

int scale()

返回此 规模BigDecimal

BigDecimal scaleByPowerOfTen(int n)

返回一个BigDecimal,其数值等于( this * 10 n )。

BigDecimal setScale(int newScale)

返回一个 BigDecimal ,其大小是指定值,其值在数字上等于此 BigDecimal

BigDecimal setScale(int newScale, int roundingMode)

返回一个 BigDecimal ,其规模是指定值,其缩放值通过将此 BigDecimal的非标度值乘以10的适当功率来确定,以维持其总体值。

BigDecimal setScale(int newScale, RoundingMode roundingMode)

返回一个 BigDecimal ,其规模是指定值,其缩放值通过将该 BigDecimal的非标度值乘以10的适当功率来确定,以维持其整体值。

short shortValueExact()

将此 BigDecimal转换为 short ,检查丢失的信息。

int signum()

返回这个 BigDecimal的signum函数。

BigDecimal stripTrailingZeros()

返回一个 BigDecimal ,它在数字上等于此值, BigDecimal表示中删除任何尾随的零。

BigDecimal subtract(BigDecimal subtrahend)

返回 BigDecimal ,其值是 (this - subtrahend) ,其标为 max(this.scale(), subtrahend.scale())

BigDecimal subtract(BigDecimal subtrahend, MathContext mc)

返回 BigDecimal ,其值是 (this - subtrahend) ,根据上下文设置进行舍入。

BigInteger toBigInteger()

将此 BigDecimal转换为 BigInteger

BigInteger toBigIntegerExact()

将此 BigDecimal转换为 BigInteger ,检查丢失的信息。

String toEngineeringString()

如果需要指数,则使用工程符号返回此 BigDecimal的字符串表示形式。

String toPlainString()

返回没有指数字段的此 BigDecimal的字符串表示形式。

String toString()

返回此 BigDecimal的字符串表示,如果需要指数,则使用科学计数法。

BigDecimal ulp()

返回此 BigDecimal的最后一个位置的ulp(一个单位)的大小。

BigInteger unscaledValue()

返回一个 BigInteger ,其值是此 BigDecimal未缩放值

static BigDecimal valueOf(double val)

转换一个 doubleBigDecimal ,使用 double通过所提供的规范的字符串表示 Double.toString(double)方法。

static BigDecimal valueOf(long val)

long值转换为 BigDecimal ,比例为零。

static BigDecimal valueOf(long unscaledVal, int scale)

long值和 int比例转换为 BigDecimal

目录
相关文章
|
6月前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
440 18
|
6月前
|
Java 编译器 Go
【Java】(5)方法的概念、方法的调用、方法重载、构造方法的创建
Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高了代码的重用性。方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。这种就属于驼峰写法下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。
307 4
|
6月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
412 5
|
7月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
239 11
|
7月前
|
Java 开发者
Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
|
8月前
|
算法 Java
Java语言实现链表反转的方法
这种反转方法不需要使用额外的存储空间,因此空间复杂度为,它只需要遍历一次链表,所以时间复杂度为,其中为链表的长度。这使得这种反转链表的方法既高效又实用。
630 0
|
8月前
|
存储 Java 数据处理
Java映射操作:深入Map.getOrDefault与MapUtils方法
结合 `getOrDefault`方法的简洁性及 `MapUtils`的丰富功能,Java的映射操作变得既灵活又高效。合理地使用这些工具能够显著提高数据处理的速度和质量。开发人员可以根据具体的应用场景选择适宜的方法,以求在性能和可读性之间找到最佳平衡。
308 0
|
8月前
|
缓存 人工智能 NoSQL
Java中实现Token设置过期时间的方法
本文介绍了在Java应用中实现Token设置过期时间的多种方法,包括使用JWT和Redis缓存,并结合定时任务清理过期Token,以提升系统安全性与用户隐私保护。
977 0
|
8月前
|
算法 Java 开发者
Java 项目实战数字华容道与石头迷阵游戏开发详解及实战方法
本文介绍了使用Java实现数字华容道和石头迷阵游戏的技术方案与应用实例,涵盖GUI界面设计、二维数组操作、游戏逻辑控制及自动解法算法(如A*),适合Java开发者学习游戏开发技巧。
532 46
|
9月前
|
安全 Java API
Java 集合高级应用与实战技巧之高效运用方法及实战案例解析
本课程深入讲解Java集合的高级应用与实战技巧,涵盖Stream API、并行处理、Optional类、现代化Map操作、不可变集合、异步处理及高级排序等核心内容,结合丰富示例,助你掌握Java集合的高效运用,提升代码质量与开发效率。
377 0