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用法记录[Java]】得到比当前数字大的第一个素数
    BigInteger bigInteger = BigInteger.valueOf(9); System.out.println(bigInteger.nextProbablePrime().toString()); //结果 : 11

    推荐阅读