主題
Search

任意精度


在大多數計算機程式和計算環境中,任何計算(甚至包括加法)的精度都受到計算機字長的限制,即可以儲存在處理器暫存器之一中的最大數字的限制。截至 2002 年中期,最常見的處理器字長為 32 位,對應於整數 2^(32)=4294967296。因此,在 32 位機器上進行通用整數算術運算允許兩個 32 位數字相加得到 33 位(一個字加上一個溢位位),兩個 32 位數字相乘得到 64 位(儘管最流行的程式語言 C 無法直接訪問高位字,並且依賴程式設計師建立機器語言函式或用 C 編寫速度慢得多的函式,最終開銷約為九次乘法),以及一個 64 位數字除以一個 32 位數字,產生一個 32 位商和一個 32 位餘數/模數。

任意精度算術由一組演算法、函式和資料結構組成,這些演算法、函式和資料結構專門設計用於處理可以具有任意大小的數字。這些函式通常修改標準的紙筆算術技術(例如長除法),並將它們應用於分解為字大小塊的數字。

建立良好的任意精度算術的一個主要困難是知道何時停止計算。二進位制小數 0.0101010101..._2 給出了 1/3 的非終止二進位制展開,這說明了這個問題的一個簡單示例。由於精確數字沒有終止二進位制分數展開的事實,因此必須在任意精度計算系統中構建額外的功能。這可以是故障安全的形式,也可以是可配置的“最大精度”,當計算達到某個非常小的數字時,計算將始終停止。


參見

精度, 有效數字算術

此條目由 Dan Uznanski 貢獻

使用 探索

參考文獻

Knuth, D. E. 計算機程式設計藝術,第 2 卷:半數值演算法,第 3 版。 雷丁,馬薩諸塞州:艾迪生-韋斯利,1998 年。

在 中被引用

任意精度

引用為

Uznanski, Dan. "任意精度。" 來自 —— 資源,由 Eric W. Weisstein 建立。 https://mathworld.tw/ArbitraryPrecision.html

學科分類