你指的是C語言的吧
double佔8個位元組(64位)記憶體空間,最多可提供16位有效數字,小數點後預設保留6位。如全是整數,最多提供15位有效數字。測試程式碼如下,
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
printf("%lf\n",123456789012345678.789);//輸出123456789012345680.000000
printf("%lf\n",(double)123456789012345678);//輸出123456789012345680.000000
printf("%lf\n",1234567890.1234567);//輸出1234567890.123457
return 0;
}
對於double型別資料,通常不能與0直接比較,而是透過其絕對值小於給定的容差值來判斷是否滿足精度需求,"float.h"標頭檔案往往定義了基本資料型別能夠表示的資料的最大值和最小值,比如,
#define DBL_MIN 2.2250738585072014e-308 //宏定義了double型別最小正數
你指的是C語言的吧
double佔8個位元組(64位)記憶體空間,最多可提供16位有效數字,小數點後預設保留6位。如全是整數,最多提供15位有效數字。測試程式碼如下,
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
printf("%lf\n",123456789012345678.789);//輸出123456789012345680.000000
printf("%lf\n",(double)123456789012345678);//輸出123456789012345680.000000
printf("%lf\n",1234567890.1234567);//輸出1234567890.123457
return 0;
}
對於double型別資料,通常不能與0直接比較,而是透過其絕對值小於給定的容差值來判斷是否滿足精度需求,"float.h"標頭檔案往往定義了基本資料型別能夠表示的資料的最大值和最小值,比如,
#define DBL_MIN 2.2250738585072014e-308 //宏定義了double型別最小正數