概述
不可变的任意精度的整数。提供了模算术、GCD 计算、质数测试、素数生成、位操作以及一些其他操作。
算术运算的语义完全模仿 Java 整数算术运算符的语义,如 The Java Language Specification 中所定义的。例如,以零作为除数的除法抛出 ArithmeticException,而负数除以正数的除法则产生一个负(或零)的余数。Spec 中关于溢出的细节都被忽略了,因为 BigIntegers 所设置的实际大小能适应操作结果的需要。
位移操作的语义扩展了 Java 的位移操作符的语义以允许产生负位移距离。带有负位移距离的右移操作会导致左移操作,反之亦然。忽略无符号的右位移运算符(>>>),因为该操作与由此类提供的“无穷大的词大小”抽象结合使用时毫无意义。
当为任何输入参数传递 null 对象引用时,此类中的所有方法和构造方法都将抛出 NullPointerException
构造方法
BigInteger(byte[] val)
说明
将包含 BigInteger 的二进制补码表示形式的 byte 数组转换为 BigInteger。
参数
val - BigInteger 的 big-endian 二进制补码表示形式
抛出
NumberFormatException - val 长度为0
例子
byte[] dat = {0x01,0x00,0x00};
BigInteger bi = new BigInteger(dat);
System.out.println(bi); //输出65536