c语言对浮点数的处理默认是double吗,C语言中浮点数float和double输出的问题

C语言中浮点数float和double输出的问题

关注:260  答案:6  信息版本:手机版

解决时间 2019-01-12 07:33

斑駁影

2019-01-11 09:20

#includevoid main()

{

float num;

double dnum;

num=563.23;

dnum=78954327.07;

printf("num=%f",num);

printf("\ndnum=%lf",dnum);

}

执行结果:

num=563.229980

dnum=78954327.0700000

我想请问如上题,书上写float单精度浮点型提供7个有效数字,而double双精度浮点型提供15到16位有效数字。那怎么输出结果会是这样?位数是不是多了?请知道的大侠们帮帮忙,小女子先谢过了~

最佳答案

哼嘿闯九州

2021-01-13 11:38

类型 比特数 有效数字 数值范围

float 32 6-7 -3.4*10(-38)~3.4*10(38)

double 64 15-16 -1.7*10(-308)~1.7*10(308)

long double 128 18-19 -1.2*10(-4932)~1.2*10(4932)

简单来说,Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我

你可能感兴趣的:(c语言对浮点数的处理默认是double吗,C语言中浮点数float和double输出的问题)