美文网首页
BigInteger用法记录[Java]

BigInteger用法记录[Java]

作者: 简_单单 | 来源:发表于2017-06-18 01:08 被阅读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

    相关文章

      网友评论

          本文标题:BigInteger用法记录[Java]

          本文链接:https://www.haomeiwen.com/subject/lhobqxtx.html