回覆列表
-
1 # 許大蝦原創
-
2 # 編碼之道
目前還做不到無限長度的高精度計算,因為計算機進行計算之前,需要將數字轉換為計算機可以識別的二進位制數字,不管是整數還是小數都是這樣,在計算機中儲存的數字位數越多、精度越高對記憶體的需求也就越大。所以,無限長度的數字在有限的計算機記憶體中是無法儲存的,自然也就無法計算了。
雖然無法實現無限長度的高精度計算,但是卻可以進行可變長度的高精度計算,這時候可計算的最高長度與精度會受計算機記憶體等硬體資源的影響,但是理論上來講只要記憶體足夠大,它能計算的長度也就越長。
這種超過標準資料型別的高精度計算一般是透過字串的方式來實現的。
“無限長度”就目前的技術做不到,但可以實現在軟、硬體資源支援的前提下,一直計算下去,你可以理解成一張紙,其實摺疊幾十次其高度可以達到珠穆朗瑪峰。但是必須得有一個比珠穆朗瑪峰還大幾十倍的人才可能做到這樣的摺疊。但是這樣的人或者東西目前還沒有,計算機也是如此,除非你的計算能力達到可以計算無限長度。
能耗大是現在超級計算機的一個問題,假如能量足夠計算機的計算能力是否可以提高一個檔次,比如說可控核聚變成功,人類可利用的能量就會有非常大的提高,如此大的能量是不是可以讓計算機效能大幅提高。
所以你問題的答案可能是,需要一個能量巨大的東西可以驅動大型整合計算機,計算你說的無限長度,我記得圓周率到目前為止,還在由大型計算機計算中。