跳轉到內容

程式設計基礎/浮點數資料型別

來自華夏公益教科書,開放的書籍,開放的世界

浮點數資料型別使用實數的通用近似表示,本質上是在範圍和精度之間進行權衡。因此,浮點數計算通常出現在包含非常小和非常大的實數的系統中,這些系統需要快速的處理時間。一個數通常近似表示為固定數量的有效數字,並使用某個固定基數(例如 10)的指數進行縮放。[1]

浮點數資料型別是一系列資料型別,它們的行為相似,只是域的大小(允許的值)不同。浮點數資料型別表示帶有小數部分的數值。它們在技術上儲存為兩個整數值:尾數和指數。浮點數資料型別在所有程式語言中具有相同的屬性,並且行為相似。它們始終可以儲存負值或正值,因此它們始終有符號;這與可以無符號的整數資料型別不同。浮點數資料型別的域各不相同,因為它們可以表示非常大的數字或非常小的數字。我們不談論實際值,而是提到精度。儲存位元組越多,尾數和指數就越大,因此精度就越高。

語言 保留字 大小 精度 範圍
C++ float 32 位 / 4 位元組 7 個十進位制數字 ±3.40282347E+38
C++ double 64 位 / 8 位元組 15 個十進位制數字 ±1.79769313486231570E+308
C# float 32 位 / 4 位元組 7 個十進位制數字 ±3.40282347E+38
C# double 64 位 / 8 位元組 15 個十進位制數字 ±1.79769313486231570E+308
Java float 32 位 / 4 位元組 7 個十進位制數字 ±3.40282347E+38
Java double 64 位 / 8 位元組 15 個十進位制數字 ±1.79769313486231570E+308
JavaScript Number 64 位 / 8 位元組 15 個十進位制數字 ±1.79769313486231570E+308
Python float() 64 位 / 8 位元組 15 個十進位制數字 ±1.79769313486231570E+308
Swift Float 32 位 / 4 位元組 7 個十進位制數字 ±3.40282347E+38
Swift Double 64 位 / 8 位元組 15 個十進位制數字 ±1.79769313486231570E+308

在對浮點值進行運算時,結果可能比你想要的保留更多小數位。我們可以使用 round 函式來限制顯示的小數位數。例如,round(1.12356,2) 將返回 1.12。[2]

關鍵詞

[編輯 | 編輯原始碼]
double
最常用的浮點數資料型別。
尾數 指數
浮點值的兩個整數值部分。
精度
給定更大的或更小的位元組儲存區域,對浮點值域的影響。

參考文獻

[編輯 | 編輯原始碼]
華夏公益教科書