c语⾔double类型默认输出⼩数⼏位
C语⾔中常⽤的⼩数有两种类型,分别是 float 或 double;float 称为单精度浮点型,double 称为双精度浮点型。不像整数,⼩数没有那么多⼳蛾⼦,⼩数的长度是固定的,float 始终占⽤4个字节,double 始终占⽤8个字节。
c语⾔double类型默认输出⼏位⼩数?
C语⾔中,输出double类型(双精度实型)以及float类型(单精度实型)时,默认输出6位⼩数(不⾜六位以 0 补齐,超过六位按四舍五⼊截断)。
double a = 1;
printf("%lf\n", a);
输出会是:
1.000000
但是有时六位会显得很长,没必要。⽐如计算平均分,⼀到两位⼩数就⾜够了。可是有时六位⼜不够,需
要更多位⼩数,⽐如计算⾼精度平⽅根。这时可以⽤printf的格式控制。如果要输出n位⼩数,那么可以⽤%.nlf的格式。其中n为数字。
如要输出10位⼩数,那么
printf("%.10lf\n", a);
即可。
内容扩展
⼩数的输出
⼩数也可以使⽤ printf 函数输出,包括⼗进制形式和指数形式,它们对应的格式控制符分别是:
%f 以⼗进制形式输出 float 类型;
%lf 以⼗进制形式输出 double 类型;
%e 以指数形式输出 float 类型,输出结果中的 e ⼩写;
%E 以指数形式输出 float 类型,输出结果中的 E ⼤写;
%le 以指数形式输出 double 类型,输出结果中的 e ⼩写;
%lE 以指数形式输出 double 类型,输出结果中的 E ⼤写。
下⾯的代码演⽰了⼩数的表⽰以及输出:
#include <stdio.h>
#include <stdlib.h>
int main()
{
float a = 0.302;
float b = 128.101;
float几个字节多少位double c = 123;
float d = 112.64E3;
double e = 0.7623e-2;
float f = 1.23002398;
printf("a=%e \nb=%f \nc=%lf \nd=%lE \ne=%lf \nf=%f\n", a, b, c, d, e, f);
return 0;
}
运⾏结果:
a=3.020000e-01
b=128.100998
c=123.000000
d=1.126400E+05
e=0.007623
f=1.230024
到此这篇关于c语⾔double类型默认输出⼩数⼏位的⽂章就介绍到这了,更多相关c语⾔double类型输出⼩数内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论