原文連結
Java中有兩個類BigInteger和BigDecimal分别表示大整數類和大浮點數類。
這兩個類都在java.math.*包中,是以每次必須在開頭處引用該包。
1.valueOf(parament);//将參數轉換為制定的類型
2.add(); //大整數相加
3.subtract(); //相減
4.multiply(); //相乘
5.divide(); //相除取整
6.remainder(); //取餘
7.pow(); //a.pow(b)=a^b
8.gcd(); //最大公約數
9.abs(); //絕對值
10.negate(); //取反數
11.mod(); //a.mod(b)=a%b=a.remainder(b);
12.max(); min();
13.public int comareTo();
14.boolean equals();//是否相等
15.//BigInteger構造函數:
BigInteger(String val);
//将指定字元串轉換為十進制表示形式;
BigInteger(String val,int radix);
//将指定基數的 BigInteger 的字元串表示形式轉換為 BigInteger
A=BigInteger.ONE 1
B=BigInteger.TEN 10
C=BigInteger.ZERO 0
用Scanner類定義對象進行控制台讀入,Scanner類在java.util.*包中
具體解釋:
1.valueOf(parament); 将參數轉換為制定的類型
比如 int a=3;
BigInteger b=BigInteger.valueOf(a);
則b=3;
String s=”12345”;
BigInteger c=BigInteger.valueOf(s);
則c=12345;
2.add(); 大整數相加
BigInteger a=new BigInteger(“23”);
BigInteger b=new BigInteger(“34”);
a.add(b);
3.subtract(); 相減
4.multiply(); 相乘
5.divide(); 相除取整
6.remainder(); 取餘
7.pow(); a.pow(b)=a^b
8.gcd(); 最大公約數
9.abs(); 絕對值
10.negate(); 取反數
11.mod(); a.mod(b)=a%b=a.remainder(b);
傳回-1,0或1,分别為BigInteger在數字上小于,等于,或大于值val。
14.boolean equals(); 是否相等
15.BigInteger構造函數:
一般用到以下兩種:
将指定字元串轉換為十進制表示形式;
将指定基數的 BigInteger 的字元串表示形式轉換為 BigInteger
補充:
a=a.pow(b); //a = a的b次方
a=a.stripTrailingZeros(); //去掉後導0
d=a.toPlainString(); //不讓其變成科學計數法的表示法,變成一般的小數表示
if(d.charAt(0)==’0’) d=d.substring(1); //與前導的字元串比較 ??
if(s.startsWith(“0.”)) s=s.substring(1);//與前導的字元串比較 ??
and(); // 例如a.and(b),計算a&b
doubleValue(); //轉化為double類型
longValue(); //轉化為long類型
floatValue(); // 轉化為float類型
intValue(); //轉化為int類型
divideAndRemainder(BigInteger val)
//傳回包含 (this / val) 後跟 (this % val) 的兩個 BigInteger 的數組。
boolean isProbablePrime(BigInteger n) //判斷大數是否為素數
modPow(BigInteger n, BigInteger mod) //計算this^n % mod
nextProbablePrime(BigInteger n) //傳回比大數n大的為素數的數
not() //計算 ~this
or(BigInteger a) //計算this|a
xor(BigInteger val) //傳回其值為 (this ^ val) 的 BigInteger。
probablePrime(int bitLength, Random rnd)
//傳回有可能是素數的、具有指定長度的正 BigInteger。
shiftLeft(int n) //傳回其值為 (this << n) 的 BigInteger。
shiftRight(int n) //傳回其值為 (this >> n) 的 BigInteger。