FLOAT 與 DOUBLE 差異(單精度與雙精度有什么區別)


 

最本質的區別:單精度,也就是 float ,在 32 位機器上用 4 個字節來存儲的;而雙精度double是用 8 個字節來存儲的,由於存儲位不同,他們能表示的數值的范圍就不同,也就是能准確表示的數的位數就不同。

1、所占的內存不同

單精度浮點數bai占du用4個字節(32位)存儲空間來存儲一個浮點數,包括符號位1位,階碼8位,尾數23位。

而雙精度浮點數使用 8個字節(64位)存儲空間來存儲一個浮點數,包括符號位1位,階碼11位,尾數52位。

2、所存的數值范圍不同

單精度浮點數的數值范圍為-3.4E38~3.4E38,而雙精度浮點數可以表示的數字的絕對值范圍大約是:-2.23E308 ~ 1.79E308。E表示10的多少次方,如3.4E38指的是3.4乘以10的38次方。

3、十進制下的位數不同

單精度浮點數最多有7位十進制有效數字,如果某個數的有效數字位數超過7位,當把它定義為單精度變量時,超出的部分會自動四舍五入。

雙精度浮點數可以表示十進制的15或16位有效數字,超出的部分也會自動四舍五入。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM