1. 程式人生 > 其它 >跟著做的C++20教程-例項10-浮點數(小數)

跟著做的C++20教程-例項10-浮點數(小數)

技術標籤:跟著做的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

。如果想讓編譯器把他當作long double使用,可以在其後面加上L,如1.0L