c語言double與float
① c語言中float和double的區別!
區別:
1、精度不一樣,float是單精度,double是雙精度;
2、表示小數的范圍不一樣,double能表示的范圍比float大;
3、double在內存中,佔8個位元組,float在內存中,佔4個位元組。
float:浮點型數據類型,FLOAT 數據類型用於存儲單精度浮點數或雙精度浮點數。浮點數使用IEEE(電氣和電子工程師協會)格式。浮點類型的單精度值具有 4 個位元組,包括一個符號位、一個 8 位 二進制指數和一個 23 位尾數。由於尾數的高順序位始終為 1,因此它不是以數字形式存儲的。此表示形式為 float 類型提供了一個大約在 -3.4E+38 ~ 3.4E+38 之間的范圍。
double:雙精度浮點型,此數據類型與單精度數據類型(float)相似,但精確度比float高,編譯時所佔的內存空間依不同的編譯器而有所不同,是double float數據類型,C/C++中表示實型變數的一種變數類型。
(1)c語言double與float擴展閱讀:
浮點型數據
1、float型
編譯系統為每一個float型變數分配4個位元組,數值以規范化的二進制數指數形式存放在存儲單元中。
2、double型
為了擴大能表示的數值范圍,用8個位元組存儲一個double型數據,可以得到15位有效數字。
3、long double型
不同的編譯系統對long double型的處理方法不同,Visual C++6.0對long double型和double一樣處理,分配8個位元組。
網路-float
網路-double
② C語言中float和double的區別
單精度浮點數(float)與雙精度浮點數(double)的區別如下:
(1)在內存中佔有的位元組數不同
單精度帆茄浮點數在機內佔4個位元組
雙精度浮點數在機內佔8個位元組
(2)有效數字態褲察位數不同
單精度浮點數有效數字8位
雙精度浮點數有效數字16位
(純氏3)所能表示數的范圍不同
單精度浮點的表示範圍:-3.40E+38 ~ +3.40E+38
雙精度浮點的表示範圍:-1.79E+308 ~ +1.79E+308
(4)在程序中處理速度不同
一般來說,CPU處理單精度浮點數的速度比處理雙精度浮點數快