資料類型 | 位元bits/位元組bytes | 有效位數範圍 | 數的範圍(取log) |
---|---|---|---|
float
|
32/4
|
6~8
|
-37~38
|
double
|
64/8
|
15~16
|
-307~308
|
long double
|
128/16
|
18~19
|
-4931~4932
|
程式範例
#include <stdio.h>
#include <stdlib.h>
int main()
{
float x = 21247.444444444444444;
double y = 21247.444444444444444;
printf("%.14f\n",x);
printf("%.14lf\n",y);
system("pause");
}
#include <stdlib.h>
int main()
{
float x = 21247.444444444444444;
double y = 21247.444444444444444;
printf("%.14f\n",x);
printf("%.14lf\n",y);
system("pause");
}
輸出結果
程式解析
由上述例子可以很明顯得看出:float所宣告出來的變數最多只能顯示7位有效數字(包含5個整數、4個小數);而double所宣告出來的變數最多只能顯示16位有效數字(包含5個整數、11個小數)。
Note:上述所整理的表格之有效位數僅供參考,最精確的方式還是要以bits去判斷。
沒有留言:
張貼留言