簡體   English   中英

內存中的超大浮點數如何表示?

[英]How are extremely large floating-point numbers represented in memory?

像GMP這樣的任意精度庫如何存儲內存中表示的極大的浮點數?

我可以想象,例如,如果您要計算Pi或Euler常數,例如2,000,000個數字,那么您將為這些數字分配一個大的字節數組,該數字位於小數點右邊。 每個字節將存儲2個小數位值,並且該數組將是數據結構的成員,其位數和字節數用於存儲該值。

這是怎么運作的?

當前的計算機具有32或64位寄存器,因此對字節進行計算效率很低。 另外,計算機以二進制形式工作,因此使用2的冪的基數會更有效。 他們將使用Mysticial所說的2 2 32或2 64為基數。 每個計算機字都會存儲該數字的一個數字,並且每個數字都在工作。

在某些情況下,您不需要太多計算,但是大多數情況下,您需要輸入和輸出十進制字符。 這種情況下使用冪或10的底數會更有效。 您可以在32位計算機上使用基地10 9和10 19在64位的人,因為這是10的最大功率可以在32位或64位的值存儲

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM