精度計算 乘法(大數乘大數)

2022-02-05 23:32:23 字數 904 閱讀 5576

語法:mult(char a,char b,char s);

引數:

a: 被乘數,用字串表示,位數不限

b: 乘數,用字串表示,位數不限

t: 結果,用字串表示

返回值:null

注意:

空間複雜度為 o(n^2)

需要 string.h

源程式:

#include #include 

using

namespace

std;

void mult(char a,char b,char

s),flag=0

;

char result[65

]; alen=strlen(a);

blen=strlen(b);

for(i=0 ; i)

for(j=0 ; j)

res[i][j]=(a[i]-'

0')*(b[j]-'0'

);

for(i=alen-1 ; i>=0 ; i--)

for(i=blen-2;i>=0;i--)

if(sum!=0

)

for(i=0;i)

result[i]+='0'

;

for(i=k-1;i>=0;i--)

s[i]=result[k-1-i];

s[k]='\0'

;

while(1

)

}int

main()

高精度之大數乘大數

現在我們來說一下大數乘以大數。大數乘以大數也是用來模擬手算。舉個例子吧!先從個位開始乙個乙個的乘 乘完個位然後再乘十位,乘十位的時候要和個位的想成的結果相加。這裡注意乘十位的時候 就不要和乘個位數字的結果中的最後一位相加了 就是如圖搓位。就是這樣 下面先貼上我的 include includeusi...

6 大數,高精度計算 大數乘法

大數是演算法語言中的資料型別無法表示的數,其位數超過最大資料型別所能表示的範圍,所以,在處理大數問題時首先要考慮的是怎樣儲存大數,然後是在這種儲存方式下其處理的實現方法。一般情況下大數的儲存是採用字元陣列來儲存,即將大數當作乙個字串來儲存,而對其處理是按其處理規則在陣列中模擬實現。大數乘法,相對之前...

精度計算 大數加大數

本演算法是用來計算乙個大數 現有的資料型別無法表示的數 加上乙個大數 現有的資料型別無法表示的數 演算法思路是把作為被加數和加數的大數的每一位都當做乙個字元分別放入乙個字元陣列中,再把加數的各個位與被加數的各個位從最低位依次相加,將結果存放在乙個字元指標中,最後再放入乙個結果陣列中。下面是我的c語言...