BigInteger
ç±?/p>
import java.math.BigInteger;
import java.util.Random;
//
表示整数
函数
:
System.out.println("
构造两ä¸?/p>
BigInteger
对象
: ");
//BigInteger(int numBits, Random rnd)
//
构造一个随机生成的
BigInteger
,它是在
0
�/p>
(2^numBits - 1)
(包括)范围内均
匀分布的å€?/p>
BigInteger bi1 =
new BigInteger(55,new Random());
System.out.println("bi1 = " + bi1);
//BigInteger(byte[] val)
//
将包å�?/p>
BigInteger
的二进制补码表示形式çš?/p>
byte
数组转换ä¸?/p>
BigInteger
�/p>
BigInteger bi2 = new BigInteger(new byte[]{3,2,3});
System.out.println("bi2 = " + bi2);
//
�/p>
System.out.println("bi1 + bi2 = " + bi1.add(bi2));
//
�/p>
System.out.println("bi1 - bi2 = " + bi1.subtract(bi2));
//
ä¹?/p>
System.out.println("bi1 * bi2 = " + bi1.multiply(bi2));
//
指数运算
System.out.println("bi1
çš?/p>
2
次方
= " + bi1.pow(2));
//
整数å•?/p>
System.out.println("bi1/bi2
的整数商
: " + bi1.divide(bi2));
//
余数
System.out.println("bi1/bi2
的余æ•?/p>
: " + bi1.remainder(bi2));
//
整数å•?/p>
+
余数
System.out.println("bi1 / bi2 = " + bi1.divideAndRemainder(bi2)[0] +
"--" + bi1.divideAndRemainder(bi2)[1]);
System.out.println("bi1 + bi2 = " + bi1.add(bi2));
//
比较大小
,
也可以用
max()
å’?/p>
min()
if(bi1.compareTo(bi2) > 0)
System.out.println("bd1 is greater than bd2");
else if(bi1.compareTo(bi2) == 0)
System.out.println("bd1 is equal to bd2");
else if(bi1.compareTo(bi2) < 0)
System.out.println("bd1 is lower than bd2");
//
返回相反æ•?/p>
BigInteger bi3 = bi1.negate();
System.out.println("bi1
的相反数
: " + bi3);
//
返回绝对å€?/p>
System.out.println("bi1
的绝对å€?/p>
:
" + bi3.abs());