c语言double * 多少位
3个回答
展开全部
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类型最小正数
#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类型最小正数
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询