高精度乘法(C語言版本)

2021-10-03 23:46:35 字數 636 閱讀 6902

由於筆者最初在一次電腦課想計算大數乘法(即高精度乘法),通過幾個月的摸索終於實現了高精度乘法。

首先我們要知道什麼叫取餘。

取餘即a/b=c………d,a=b*c+d,其中這個d就是餘數;

舉個例子:11/10=1……1,其中這個1就是餘數。

其次需要新的演算法,演算法如下。

上圖為計算方法,簡單來說就是把每個位分離開,都進行互相乘,然後把結果寫出來,最後進製即可。

下面我們利用c語言寫這個**。

#include

void

main()

/*如果當前的陣列大於10,除以10的整數部分進製,取餘的留下來*/

for(i =

0; i < la + lb -

1; i++

)/*遍歷輸出結果*/

printf

("%d"

, c[i]);

/*輸出*/

}

高精度演算法 (加法,乘法) C語言版

define crt secure no warnings include include typedef struct highacc highacc highacc add highacc a,highacc b int i int tmp int maxlen a.len b.len a.le...

c語言高精度乘法

眾所周知,由於整型數不能滿足過大數的運算,所以,在進行過大數的乘法運算時需要運用一種新的方法 高精度乘法。下面我將介紹大數相乘的幾個步驟。1.輸入兩個乘數,並定義後面需要到的變數 include include intmain void 3.我們再宣告乙個陣列c來儲存答案。大家通過乙個簡單的乘法運算...

高精度乘法 C

原理 陣列記錄每一位,最後處理進製 計算201 98,則先計算201 8,再計算201 9,逐位相乘。豎式計算。儲存201和98,逆序儲存到陣列裡面。01 2345 6789 1020 0000 0001 2345 6789 8900 0000 00逐位相乘,得到結果放到result陣列裡面,最後處...