1. 程式人生 > >大數運算(java)

大數運算(java)

一、大數運算介紹

  大數運算,顧名思義,就是很大的數值的數進行一系列的運算。它是指由於程式語言提供的基本數值資料型別表示的數值範圍有限,不能滿足較大規模的高精度數值計算,因此需要利用其他方法實現高精度數值的計算,於是產生了大數運算。

二、Java實現大數運算方法 我們來看一下程式碼的實現
import java.util.*;
import java.math.*;
public class Main{
    public static void main(String args[]){
       Scanner cin = new Scanner(System.in);
       BigInteger a, b;
      
       //以檔案EOF結束
       while (cin.hasNext()){
           a = cin.nextBigInteger();
           b = cin.nextBigInteger();
          
           System.out.println(a.add(b)); //大整數加法
           System.out.println(a.subtract(b)); //大整數減法
           System.out.println(a.multiply(b)); //大整數乘法
           System.out.println(a.divide(b)); //大整數除法(取整)
           System.out.println(a.remainder(b)); //大整數取模
          
           //大整數的比較
           if( a.compareTo(b) == 0 ) System.out.println("a == b"); //大整數a==b
           else if( a.compareTo(b) > 0 ) System.out.println("a > b"); //大整數a>b
           else if( a.compareTo(b) < 0 ) System.out.println("a < b"); //大整數a<b
          
           //大整數絕對值
           System.out.println(a.abs()); //大整數a的絕對值
          
           //大整數的冪
           int exponent=10;
           System.out.println(a.pow(exponent)); //大整數a的exponent次冪
          
           //返回大整數十進位制的字串表示
           System.out.println(a.toString());
          
           //返回大整數p進位制的字串表示
           int p=8;
           System.out.println(a.toString(p));
       }
    }
}