![超大數(shù)的四則運算_第1頁](http://file4.renrendoc.com/view/713b3798e12985d8137d694ff908fba3/713b3798e12985d8137d694ff908fba31.gif)
![超大數(shù)的四則運算_第2頁](http://file4.renrendoc.com/view/713b3798e12985d8137d694ff908fba3/713b3798e12985d8137d694ff908fba32.gif)
![超大數(shù)的四則運算_第3頁](http://file4.renrendoc.com/view/713b3798e12985d8137d694ff908fba3/713b3798e12985d8137d694ff908fba33.gif)
![超大數(shù)的四則運算_第4頁](http://file4.renrendoc.com/view/713b3798e12985d8137d694ff908fba3/713b3798e12985d8137d694ff908fba34.gif)
![超大數(shù)的四則運算_第5頁](http://file4.renrendoc.com/view/713b3798e12985d8137d694ff908fba3/713b3798e12985d8137d694ff908fba35.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、超大數(shù)的四則運算請計算:1、 2 的 1000次冪2、 2 的 10000次冪3、 12345678923456789534535345434543 乘上9387429387492873492873484792883748927334534535342主要內(nèi)容數(shù)字存儲的實現(xiàn)1加法運算的實現(xiàn) 2減法運算的實現(xiàn) 3乘法運算的實現(xiàn) 4除法運算的實現(xiàn) 5冪運算的實現(xiàn)63數(shù)字存儲的實現(xiàn)大數(shù)計算的因數(shù)和結(jié)果精度一般是少則數(shù)十位,多則幾萬位。在C/C+語言中定義的類型中精度最多只有二十多位,因而我們采取用鏈表存貯的方式來存放大數(shù)。在計算中會用到從高位開始計算,和從低位開始計算數(shù)值的兩種情況。所以我們將鏈表定
2、義為雙向鏈表,其中為一個單元來存貯數(shù)據(jù),一個指針指向前方的數(shù)據(jù),另一個指向后的數(shù)據(jù)。其結(jié)構為: 4數(shù)字存儲的實現(xiàn)struct Node/ 定義一個雙向鏈表用來存貯結(jié)果 char data;/ 數(shù)據(jù)*定義為字符的原因:要顯示負號 Node *next;/ 尾指針 Node *ahead;/ 首指針;5加法運算的實現(xiàn)12345678991234344661加數(shù)被加數(shù)+初始化進位為0,各對應位相加后再加上進位數(shù)1、進位為102、進位為163、進位為154、進位為12由低位向高位相加計算,直至所有運算結(jié)束6處理中注意問題: 1必須判斷出操作數(shù)A、B的長度,以位長的一個作為循環(huán)基礎。2最后一位(最高位)
3、的運算中,若進位不為0,則需增設多一個存儲結(jié)點。7減法運算的實現(xiàn) 算法也是從低位開始減。先要判斷減數(shù)和被減數(shù)那一個位數(shù)長,減數(shù)位數(shù)長是正常減;被減數(shù)位數(shù)長,則被減數(shù)減減數(shù),最后還要加上負號;兩數(shù)位數(shù)長度相等時,最好比那一個數(shù)字大,否則負號處理會很繁瑣;處理每一項時要,如果前一位相減有借位,就先減去上一位的借位,無則不減,再去判斷是否能夠減開被減數(shù),如果減不開,就要借位后再去減,同時置借位為1,否則置借位為0。8減法運算的實現(xiàn)12345678671234345798減數(shù)被減數(shù)-初始化借位為0,各對應位相減后再減上借位數(shù)1、借位為192、借位為163、借位為004、借位為02由低位向高位相加計算,
4、直至所有運算結(jié)束9處理中注意問題: 1如果被減數(shù)大于減數(shù)時,指針和相應循環(huán)長度控制變量也要做相應的修改 2結(jié)果可能會出現(xiàn)前面是一堆0的情況,要處理好,如當減數(shù)為112,而被減數(shù)為111時,會出現(xiàn)001 10乘法運算的實現(xiàn) 首先說一下乘法計算的算法,從低位向高位乘,在豎式計算中,我們是將乘數(shù)第一位與被乘數(shù)的每一位相乘,記錄結(jié)果,之后,用第二位相乘,記錄結(jié)果并且左移一位,以此類推,直到計算完最后一位,再將各項結(jié)果相加。得出最后結(jié)果。當然我們可以直接用這種方法,但要用多個鏈表來保存計算出的分結(jié)果, 之后結(jié)果再相加得到最后結(jié)果,但是這樣會浪費很多空間。 11乘法運算的實現(xiàn)只用一個鏈表來表示結(jié)果,先把第
5、一位乘數(shù)與被乘數(shù)的結(jié)果保存在鏈表中,之后把存儲結(jié)果的頭部后移一位、也就是從鏈表的第二加起,當?shù)诙怀藬?shù)與被乘數(shù)結(jié)果加到第二之后的各個項內(nèi)。以此類推,直到結(jié)束。這樣就可以用一個鏈表來存儲相乘后的結(jié)果。12乘法運算的實現(xiàn)12345678671234345798乘數(shù)被乘數(shù)*初始化進位為0,各對應位相乘后再加上進位數(shù)1、進位為562、進位為663、進位為554、進位為40由低位向高位相加計算,直至所有運算結(jié)束13處理中注意問題: 1傳入和保存的都是字符,所以計算時要將字符轉(zhuǎn)化為數(shù)字,算完再轉(zhuǎn)化為字符存儲 2另外進位時要處理,當前的值加上進位的值再看本位數(shù)字是否又有進位;3輸出時要逆序輸出,因為鏈表首指
6、針是存的結(jié)果的最低位。函數(shù)為了對應輸入輸出結(jié)果的一致性,都有采用了字符串輸出,所以在輸出時又將鏈表轉(zhuǎn)為了字符串14除法運算的實現(xiàn)首先說一下我們所要的結(jié)果,當除數(shù)除不開被子除數(shù)時,不用除到小數(shù),當除數(shù)小于被除數(shù)時,除數(shù)作為余數(shù)既可,不用再向下除了。15除法運算的實現(xiàn)除法算法最容易想到的數(shù)字電路,或模擬電路時里面有用門實現(xiàn)的除法器,做法是用除數(shù)減被除數(shù),再用一個加法器去計算存儲結(jié)果,算法簡單明了,計算速度比算乘方時還慢,電路中計算的長度不過8位,16位,32位,而且都是硬件實現(xiàn),現(xiàn)要算的是幾千位,幾萬位。特別是兩數(shù)位長度差很大時計算速度相當慢,如10000-3時要進行多少次鏈表運算啊。16除法運算的實現(xiàn)就是從高位向低位減,減時以被除數(shù)長度為單位,從高位取出大于被除數(shù)的字符串,和被除數(shù)相減,減的次數(shù)為結(jié)果,余數(shù)從剩下的除數(shù)高位再取出幾位做補位,直到大于被除數(shù)。再減,循環(huán)減到被減數(shù)大于余數(shù)加上補位,那么這個新的余數(shù)作為結(jié)果返回。1718處理中注意問題: 1除法算法計算時是用的最高位開始向低位減,所以要注意指針的位置。 2余數(shù)和被減數(shù)相減時,一定要注意:一旦能夠減開被除數(shù)時,一定要每從除數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初級銀行業(yè)法律法規(guī)與綜合能力-銀行專業(yè)初級《法律法規(guī)》名師預測卷1
- 怎樣寫仲裁申請書
- 仲裁申請書 房屋買賣
- 100以內(nèi)加減乘除快速能力提升1000題(可打?。?/a>
- 新版北師版一年級下冊數(shù)學課件綜合實踐 設計教室裝飾圖第3課時 裝飾圖展示會
- 維修瓷磚墻漆合同(2篇)
- 調(diào)動理由申請書
- 四川省部分名校2024-2025學年高三上學期聯(lián)合質(zhì)量檢測物理試題(解析版)
- 湖北省隨州市2024-2025學年高三上學期元月期末聯(lián)考物理試題(解析版)
- 生態(tài)城市規(guī)劃與自然的和諧共生
- 三年級上語文開學第一課
- 烹飪刀工與原料成型技術課件
- 消防設施維護與日常檢查培訓講義
- 最新安全生產(chǎn)管理教材電子版
- 良性陣發(fā)性位置性眩暈完整版本課件
- 典當業(yè)務計劃方案
- 老化箱點檢表A4版本
- 音標教學課件(共73張PPT)
- 2012數(shù)據(jù)結(jié)構英文試卷A及答案
- 二次回路施工驗收
- 自由組合定律的應用9331的變式
評論
0/150
提交評論