BigInteger用法记录[Java]

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

你可能感兴趣的:(BigInteger用法记录[Java])