java 實現大數字計算

我們都知道,Java中的int或者long都是有限的.

那麼如果我們要做很大數據的運算,怎麼辦呢?

直接上乾貨:

Java代碼實例,請閱讀註釋:

/**
 * 算法系列-大數字運算
 * @author 
 * @date 2018年3月6日
 */
public class AlgorithmBigNumTest {

	public static void main(String[] args) {
		
		// 計算 512*34
		// 使用數組存儲大數字.
		int[] bigArr = new int[8];
		int len = bigArr.length,
			num = 34;	// 被乘數.
		bigArr[len-1] = 2;		// 最後一位發個位,以此類推.
		bigArr[len-2] = 1;
		bigArr[len-3] = 5;
		
		// 計算每一位的結果
		for (int i = 0; i < len; i++) {
			bigArr[i] *= num;
		}
		
		// 對每一位進位和留位
		for (int i = len-1; i > 0; i--) {
			bigArr[i-1] += bigArr[i]/10;	//進位
			bigArr[i] %= 10;	// 留位
		}
		System.out.println(512*34);
		for (int i = 0; i < len; i++) {
			System.out.print(bigArr[i]);
		}
		
	}

}

--end.

有什麼不清楚的,請留言.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章