當前位置:編程學習大全網 - 編程軟體 - c語言中什麽是單精度型和雙精度型?各舉個例子。。。

c語言中什麽是單精度型和雙精度型?各舉個例子。。。

單精度型和雙精度型的區別在於它們的精確程度不壹樣,也就是小數部分的有效位數不壹樣。

單精度數(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位。

百度百科-單精度浮點數

百度百科-雙精度浮點數

  • 上一篇:excel表格中如何在單擊壹個單元格時使整壹行變換顏色?
  • 下一篇:matlab編寫程序求三角形面積
  • copyright 2024編程學習大全網