使用BigInteger實現除法取餘

BigInteger 除法取餘

1、BigInteger是什麼?

Java中,整形的最大范圍是64位的long型整數。但是如果我們使用的整數超過瞭64位呢?這時候就用到瞭BigInteger。BigInteger內部使用int[]數組來存儲足夠大的整數。

2、BigInteger實現除法取餘

public class BigIntTest {
    public static void main(String[] args) {
        BigInteger bigInteger = new BigInteger("45615146541561");
        BigInteger bigInteger2 = new BigInteger("6541315");
        BigInteger[] resBigIntegers = bigInteger.divideAndRemainder(bigInteger2);
        System.out.println("兩數相除,整除結果為:" + resBigIntegers[0]  +
                           ",餘數為:" + resBigIntegers[1]);
    }
}

運行結果:

file

BigInteger簡單使用及方法總結

BigInteger 可以用來解決數據的溢出問題!

下面我總結幾種關於BigInteger的常用用法:

1、probablePrime和nextprobablePrime。(判斷質數,並返回)

BigInteger.probablePrime(int x);

返回有可能是素數(質數),具有指定長度的正數BigInteger,返回可能是合數的概率不超過2的負100次方, 

BigInteger.nextprobablePrime(int x)

返回大於此BigInteger的有可能是素數(質數),具有指定長度的正數BigInteger,返回可能是合數的概率不超過2的負100次方

2、valueOf()(對數據初始化)

BigInteger valueOf(long val)

用法如下:

3、四則運算

(add(加)。subtract(減)。multiply(乘)。divide(除))

調用方式如上圖,可以重復調用

4、remainder(取餘)

返回其值為取餘後的BigInteger類型的值,例子如下

調用的時候要保證數據是BigInteger類型的,可以用初始化(valueOf)或者new一個。

5、divideAndRemainder(先除後取餘,結果分別存在數組中)

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: