萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 網路程式設計 >> 程式語言綜合

C++ 入門:浮點數資料類型完整指南

三種浮點型別

  • float:單精度,通常 7 位有效數字(IEEE 754 32-bit)。
  • double:雙精度,通常 15 位有效數字(64-bit),預設浮點字面常數型別。
  • long double:擴展精度,通常 19 位有效數字(80-bit 或 128-bit,視編譯器/平台而定)。

精度指尾數位數;數值範圍主要由指數位數決定。ANSI C++ 標準未強制規定精度與範圍,由編譯器依硬體實作。一般情況:long double ≥ double ≥ float。

典型 PC 平台範圍與精度

浮點型別範圍表

所有型別皆可表示 0,但無法表示 0 與最小正數之間的值(即次正規數下限)。

字面常數後綴

  • 無後綴或 f/F → float(需加 f 避免警告)
  • 無後綴 → double(預設)
  • l/L → long double
double inches_to_mm = 25.4;
const double PI = 3.141592653589793;
float pi = 3.14159f;
long double root2 = 1.4142135623730950488L;

宣告與初始化範例

使用 const 修飾常數;float 字面值必須加 f 後綴,否則編譯器會發出「隱含轉換」警告。

實務建議

  1. 預設使用 double,精度與範圍足夠絕大多數應用。
  2. 記憶體/頻寬極度敏感(如大型陣列、GPU 傳輸)才考慮 float。
  3. 需極高精度(科學計算、金融)時用 long double,但注意跨平台一致性。
  4. 避免直接比較浮點數相等,改用 epsilon 容差比較。
copyright © 萬盛學電腦網 all rights reserved