BigInteger类

/*
* BigInteger 内部用一个 int[] 数组来模拟一个非常大的整数
*   构造
*       BigInteger(String val)
*       BigInteger(String val, int radix)  按照指定radix来解析 val
*       radix  基数
* 对 BigInteger 做运算的时候,只能使用实例方法
*       add()
*       subtract()
*       multiply()
*       divide()
* 和 long 型整数运算比, BigInteger不会有范围限制,但缺点是速度比较慢
*
* BigInteger 和 Integer,Long 一样,是不可变类,并且 继承自 Number类,Number类定义了转换为基本类型的几个方法
*      byteValue()
*       shortValue()
*       intValue()
*       longValue()
*       floatValue()
*       doubleValue()
*      上述方法,可以把 BigInteger 转换为基本类型,如果 BigInteger 表示的范围超过了基本类型的范围,转换时
* 将丢失高位信息,即结果不一定是准确的,如果需要准确的转换为基本类型
*       可以使用
*       intValueExact()
*       longValueExact()
*           在转换时,如果超出范围,直接抛出 ArithmeticException
*
*   exact 准确的,精密的,精确的
*   arithmetic  算术,算法,数字
*
* 常用方法
*      subtract()
*       multiply()
*       divide()
*       add()
*       remainder()   取余   remainder 余数 ,,
*       pow()
*       abs()
*       negate()  相反数    negate 否定,取消,使无效
*       mod()
*       equals()
*       compareTo(BigInteger val)   比较,小于 -1,大于 1 ,等于 0
*       gcd() 最大公约数
*       max(BigInteger val)  返回较大的 BigInteger
*       min(BigInteger val)  返回较小的 BigInteger
* */
上一篇:2021-05-29


下一篇:1011 A+B 和 C (15分)【java题解】【大整数】