跟著做的C++20教程-例項10-浮點數(小數)
阿新 • • 發佈:2021-02-09
技術標籤:跟著做的C++20教程c++
目錄
例項概要
- float
- double
- long double
例項程式碼
int main(int argc, char** argv)
{
float f = 1.0f;
double d = 2.0;
long double ld = 3.0L;
std::cout << "單精度浮點數字節長度:" << sizeof(f) << std::endl;
std::cout << "雙精度浮點數字節長度:" << sizeof(d) << std::endl;
std::cout << "擴充套件精度浮點數字節長度:" << sizeof(ld) << std::endl;
return 0;
}
執行結果
單精度浮點數字節長度:4
雙精度浮點數字節長度:8
擴充套件精度浮點數字節長度:8
例項解釋
浮點數
浮點數是有小數點的數,也就是小數。
計算機如何表示小數
這部分給大家推薦另一篇文章,這是我覺得對浮點數解釋比較全面和通俗易懂的文章。
float的精度和取值範圍(by AlbertS)
浮點數型別
與整數一樣,浮點數也有很多種型別,他們的區別在於精度不同。
- float 單精度浮點數 32bit
- double 雙精度浮點數 64bit
- long double 擴充套件精度浮點數 64bit
與整數一樣同樣,C++標準並沒有規定每種浮點數的具體bit數和精度,只是要求double的精度至少等於或高於float的精度,long double 的精度至少等於或高於double的精度。
在實踐中 float和 double 分別採用IEEE-754
標準對的 32 bit 和 64bit 浮點數的規定。
數字字尾
在程式碼中如果直接寫一個小數,如1.0
。在無法推斷型別時,編譯器會預設其為double。如果想讓編譯器把它當作float處理,可以在其後加上f
,如1.0f
L
,如1.0L
。