天天看點

一步一步寫算法(之大數計算)

【 聲明:版權所有,歡迎轉載,請勿用于商業用途。  聯系信箱:feixiaoxing @163.com】

    我們知道在x86的32位cpu上面,int表示32位,如果核算成整數的話,大約是40多億。同樣,如果在64位cpu上面,能表示的最大整數就是64位二進制,表示的數值要大得多。那麼在32位如果想表示大整數怎麼辦呢?那隻能靠我們自己想辦法了。

    首先我們回顧一下我們手算整數的加減、乘除法是怎麼做到的:

    (1)記住9*9之間的乘法口訣

    (2)記住個位與個位之間的加減法

    (3)所有乘法用加法和左移位表示,所有的減法用減法和右移位表示

    明白上面的道理之後,我們就可以自己手動寫一個大整數的加法了:

    上面算法最大的特點就是:計算的時候沒有考慮10進制,等到所有結果出來之後開始對每一位進行進制處理。

讨論:

    看到上面的算法之後,大家可以考慮一下:

    (1)減法應該怎麼寫呢?

    (2)乘法呢?除法呢?

繼續閱讀