首頁>Club>
12
回覆列表
  • 1 # 使用者5189701024573

    如果你需要做無限制位數的除法,給你一下原理你可以自己試試看.

    1.無限制位數的除法,你需要用字串(char *)來儲存運算數.

    2.仔細回憶小學時候我們做的除法豎式,除數乘商去減被除數的前N位(N=除數*商的當位)呵呵,我們正是要模擬這個除式的過程來解決我們的問題.

    3.透過不斷取前N位的被除數來除現有的除數(這個除是有限位的,所以我們可以直接用/來進行)得到的就是商的當前位,把他存在另一個結果字串中,同樣的除數對被除數前N位求模(也是有限位,所以我們也能直接用%)得到得就是沒有除掉的,加上被除數的N+1位構成新的被除數迴圈除下去就得到了所有的商和最後的餘數.

    4.這個方法適用於除數是有限位,而被除數不限位的情況,如果除數和被除數都是不限位只要把3步驟裡面的除換成迴圈減就可以了,減到不小於0的一個數就是最後的餘數,繼續加上N+1位遞迴,直到N+1位為空就除完了呵呵,這種辦法還可以實現無限位乘法,怎麼做?乘法豎式怎麼做就怎麼做呵呵~~

    如果沒記錯的話,你可以試試HugeCalc 下載地址http://sccnc.onlinedown.net/down/HugeCalc.rar

    這是我站粘的介紹,自己可以看看

    HugeCalc 是一款高精度演算法庫(同時包含 MBCS + UNICODE 版),適合於大規模科學計算,尤其適用於數論、密濾學等領域研究,其核心演算法耗費作者十餘年的心血。具有佔用資源少、效率高、使用便捷、易二次開發、可移植性強、可擴充套件性好等特點。關鍵檔案 HugeCalc.dll 雖然僅 148 KB,卻提供了 372 個功能介面,且其計算速度完全可與大型專業數學工具軟體媲美!其最核心的演算法現已優於當前的 apfloat、Mathematica、Maple,甚至 GMP!

  • 中秋節和大豐收的關聯?
  • 筆記本風扇嗡嗡響怎麼解決?