單精度型和雙精度型的區別在於它們的精確程度不壹樣,也就是小數部分的有效位數不壹樣。
單精度數(float型)在32位計算機中存儲占用4字節,也就是32位,有效位數為7位,小數點後6位;雙精度數(double型)在32位計算機中存儲占用8字節,也就是64位,有效位數為16位,小數點後15位。
比如3.1415926535897932384這個小數,如果定義成float型,那麽只會留下小數點後5位,也就是3.141592,如果定義成double型,那麽只會留下小數點後15位,也就是3.141592653589793。
擴展資料
計算機的數都是以二進制進行存儲。無論是單精度浮點數還是雙精度浮點數,在計算機上的存儲都遵循IEEE 754規範,使用二進制科學計數法。
二進制科學計數法包含三個部分:符號位,指數位和尾數部分。單精度數的符號位,指數位和尾數部分分別為1,8,23,而雙精度為1,11,52。
而單雙精度中的精度就主要取決於尾數部分的位數。float的尾數尾數為23位,除去全部為0的情況以外,最小為2的-23次方,因此float小數部分只能精確到後面6位。類似的,double尾數位數為52,最小為2的-52次方,因此只能精確到小數點後15位。
百度百科-單精度浮點數
百度百科-雙精度浮點數