BigInteger用法记录[Java]
2017-06-18 本文已影响319人
简_单单
1. 静态方法
probablePrime(int bitLength, Random rnd)
-
随机得到一个bit长度为bitLength的素数
BigInteger bigInteger = BigInteger.probablePrime(3, new Random()); System.out.println(bigInteger.toString());//10进制输出 , 结果: 5 或者 7
valueOf(long val)
-
得到一个值为val的BIgInteger
BigInteger bigInteger = BigInteger.valueOf(100); System.out.println(bigInteger.toString(10));//10进制输出 , 结果 : 100
2. 构造方法
BigInteger(byte[] val)
-
BigInteger的大小为val的顺序拼接结果
byte[] val = new byte[]{0x11,0x22,0x33}; BigInteger bigInteger = new BigInteger(val); System.out.println(bigInteger.toString(16));//16进制输出 , 结果 : 112233
BigInteger(int signum, byte[] magnitude)
-
得到大小为 magnitude , 正负值为 signum 的 BigInteger
byte[] magnitude= new byte[]{0x11,0x22,0x33}; BigInteger bigInteger = new BigInteger(1,magnitude); System.out.println(bigInteger.toString(16));//输出结果 : 112233 bigInteger = new BigInteger(-1,magnitude); System.out.println(bigInteger.toString(16));//输出结果 : -112233magnitude = new byte[0]; bigInteger = new BigInteger(0,magnitude); System.out.println(bigInteger.toString(16));//输出结果 : 0 , (signum 值为 0 时 , magnitude 必须为 byte[0] , 否则抛出异常)
BigInteger(String val, int radix)
-
得到大小为val , 以 radix 为基数的 BigInteger
BigInteger bigInteger = new BigInteger("1F", 16); System.out.println(bigInteger.toString(16));//输出结果 1f System.out.println(bigInteger.toString(10));//输出结果 31
3 . 成员方法
nextProbablePrime()
-
得到比当前数字大的第一个素数
BigInteger bigInteger = BigInteger.valueOf(9); System.out.println(bigInteger.nextProbablePrime().toString());//结果 : 11