大整數四則運算模板

2021-08-19 05:48:32 字數 1169 閱讀 2990

1.大整數加法運算模板

總結步驟:將對應位上的數字和進製相加,得到的結果取個位數作為該位結果,取十位數作為新的進製。

//大整數加法

bign add(bign a,bign b)

if(carry!=0)

return c;

}

2.大整數減法運算模板

總結步驟:對每一步,比較被減位和減位,如果不夠減,則令減位的高位減1,被減位+10在進行減法;

如果夠減,則直接減

最後一步要注意減法後高位可能有多餘的0,要去除他們,但也要保證結果至少有一位數。

//大整數減法運算模板

bign sub(bign a,bign b)

c.data[i] = a.data[i] - b.data[i]; //減法結果為當前結果

}while(c.len

-1 >=1 && c.data[c.len

-1]==0)

return c;

}

最後,需要指出的是,使用sub()之前,必須要比較兩個數的大小,如果被減數小於減數,需要交換兩個變數,然後輸出負號,再使用sub()函式。

3.大整數乘法運算模板

總結步驟:取bign的某位與int型的整體相乘,再與進製相加,所得結果的個位數作為該位結果,高位部分作為新的進製。

//大整數乘法運算模板

bign multi(bign a,int

x) while(carry!= 0)

return c;

}

4.大整數除法運算模板
//大整數除法運算模板

bign divide(bign a,int b,int& r)else

} while( c.len

-1>=1 && c.data[c.len

-1]==0 )

return c;

}

最後一步要注意減法後高位可能有多餘的0,要去除他們,但也要保證結果至少有一位數。

大整數四則運算

儲存方式 規定 整數的高位儲存在陣列的高位,整數的低位儲存在陣列的低位。例如 235813,則d 0 3,d 1 1,d 2 8.此方式以此類推。但注意 通常輸入為字串str 0 2 str 1 3 str 2 5 讀入之後需要反轉一下。加法運算 模板 include include struct ...

大整數四則運算

電腦可以處理很大的數。但是更大的數字運算由於資料型別占有的有限並不能表示出來,所以需要對很大的數字進行大整數處理,光是聽著就感覺令人心潮澎湃呢。核心思想 陣列存數,乙個單元存一位 下面是大整數儲存,比較的模板 struct bign bign change char str return a 比較兩...

大整數的四則運算

由小學時候的加法運算可以歸納出對其中一位進行加法的步驟 將該位上的兩個數字和進製相加,得到的結果取個位數作為該位結果,取十位數作為新的進製。高精度加法的做法與此完全相同,可以直接來看實現的 程式 include include 定義乙個結構體儲存大整數 struct bign 將整數轉換為bign ...