1. 程式人生 > >float與double的區別,以及float為什麼要加f

float與double的區別,以及float為什麼要加f

單精度浮點數(float)與雙精度浮點數(double)的區別如下:

(1)在記憶體中佔有的位元組數不同

單精度浮點數(float)在機內佔4個位元組

雙精度浮點數(double)在機內佔8個位元組

(2)有效數字位數不同

單精度浮點數(float)有效數字8位

雙精度浮點數(double)有效數字16位

(3)所能表示數的範圍不同

單精度浮點(float)的表示範圍:-3.40E+38 ~ +3.40E+38

雙精度浮點(double)的表示範圍:-1.79E+308 ~ +1.79E+308

(4)在程式中處理速度不同
一般來說,CPU處理單精度浮點數的速度比處理雙精度浮點數快

至於要加F是因為就是這麼規定的……如果不加F的話他會認為你是用的Double型……

比如:編譯器在編譯的時候掃描到了一個25.6,在不帶f的情況下,它會判斷這是double型別,應該建立一個8個位元組的空間來存放,從而可能會出現損失精度的問題;帶上f,編譯器就會建立一個4位元組的空間來存放。float不能像整形那樣有時會預設轉換,必須要確定型別,帶上f。