浅谈万进制算法与大数定理的结合(高精度乘除法,阶乘)
生活随笔
收集整理的這篇文章主要介紹了
浅谈万进制算法与大数定理的结合(高精度乘除法,阶乘)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們經常用的進制就是2進制、8進制、10進制和16進制。何來“萬進制”?世上本無,有人喊了也就有了。呵呵
現在來談談自己對進制的一點不成熟的想法。計算機能“識別”0和1,人能識別0、1、2、3、4、5、6、7、8、9以及其多位組合。那么,為啥就單單有2、8、10、16這幾個進制。我想并不止這幾個,10進制是我們日常生活沿用來了的,難道來個5進制就不行?當然不是,不過
一切以方便優先罷了!2進制是因為方便計算機識別才興起的,5000年前應該不會有2進制!8進制和16進制又因何2進制有天然聯系,所以
也出現了用途,23=8、24=16(例:這在《數字邏輯》中關于編碼方面有相關應用)。
就題論題。再來談談1042的萬進制。也以一個例子來說明:107924372*15=1618865580。①上面的乘法如果運用10進制,很簡單。②萬進制呢?首先存數:a[0]=4372,a[1]=792,a[2]=1。107924372,從低位到高位每四位存到一個數組元素中。此時,總位數為3。接著運算:a[0]*15=65580,所以進位為a[0]/10000=6,a[0]=a[0]%10000=5580。a[1]*15=11880,a[1]=a[1]+6=11886。進位為1,a[1]=1886。a[2]*15=15,a[2]=a[2]+1=16,進位為0。輸出:a[2],a[1],a[0]即為1618865580。要注意的是:如果a[2]=886,那么該如何輸出?直接輸出:168865580。顯然不對,正確的是16088655880。輸出的原則是:最高位原樣輸出,其它位如果小于1000,則高位補0,一位一補。總結
以上是生活随笔為你收集整理的浅谈万进制算法与大数定理的结合(高精度乘除法,阶乘)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大数系列之大数相加(ACM通过)(一)
- 下一篇: 中国剩余定理(孙子定理)(精华详细版!)