一、运用Java BigNumber、BigDecimal类做大数运算,就是爽!
下面总结一些java BigNumber、BigDecimal类的知识点。
1. java.math.BigInteger 类提供操作类似所有Java的基本整数运算符和java.lang.Math中的所有相关的方法。
它还提供了模运算,GCD计算,素性测试,素数生成,位操作,和一些其他杂项业务操作。所有的操作行为,如果BigInteger的二进制补码委托表示法。
算术运算和按位逻辑运算的语义分别类似于那些Java的整数算术运算符和Java的按位整数运算符。移位操作的语义扩展那些Java的移位运算符的允许负移的距离。
比较操作执行有符号整数的比较。提供模块化的算术运算来计算残留,执行幂运算和计算乘法逆。位运算操作对他们的操作数的二进制补码表示的单个位。
在这个类将抛出NullPointerException,在所有方法和构造函数使用时,通过输入任何参数提供一个空的对象引用。
类声明
以下是java.math.BigInteger类的声明:
public class BigInteger extends Number implements Comparable<BigInteger>
字段域
以下是java.math.BigInteger类中的字段:
-
static BigInteger ONE -- BigInteger的常量1。
-
static BigInteger TEN -- BigInteger的常量10。
-
static BigInteger ZERO -- BigInteger的常量0。
此方法返回一个BigInteger,其值是(this + val).
此方法比较此BigInteger与指定的BigInteger。
此方法返回一个BigInteger,其值是 (this / val).
此方法返回一个BigInteger,其值是 (this * val).
2、java.math.BigDecimal 类提供用于算术,刻度操作,舍入,比较,哈希算法和格式转换操作。
toString()方法提供BigDecimal的规范表示。它使用户可以完全控制舍入行为。
提供用于操作BigDecimal规模两种类型的操作:- 缩放/舍入操作
- 小数点移动操作。
此类及其迭代器实现Comparable接口的所有可选方法。
类声明
以下是声明java.math.BigDecimal类:
public class BigDecimal extends Number implements Comparable<BigDecimal>
字段域
以下是java.math.BigDecimal类中的字段:
-
static BigDecimal ONE -- 值为1,使用刻度为0。
-
static int ROUND_CEILING -- 舍入模式舍向正无穷。
-
static int ROUND_DOWN -- 舍入模式为向零舍入。
-
static int ROUND_FLOOR -- 舍入模式接近负无穷大。
-
static int ROUND_HALF_DOWN -- 舍入模式舍入到“最近相邻”如果与两个相邻数字的距离相等,在这种情况下,向下取整。
-
static int ROUND_HALF_EVEN -- 舍入模式舍对“近邻”如果与两个相邻数字的距离相等,在这种情况下,舍入向着更加相邻。
-
static int ROUND_HALF_UP -- 舍入模式舍入到“最近相邻”如果与两个相邻数字的距离相等,在这种情况下范围。
-
static int ROUND_UNNECESSARY -- 舍入模式断言请求的操作具有精确的结果,因此不需要舍入。
-
static int ROUND_UP -- 舍入模式舍入去零。
-
static BigDecimal TEN -- 值为0,使用刻度为0。
-
static BigDecimal ZERO -- 值为0,使用刻度为0。