查看: 3198|回复: 0

C语言中的小数(float,double)

[复制链接]
发表于 2017-4-8 11:49:16 | 显示全部楼层 |阅读模式
小数也称实数或浮点数。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小数。这是常见的小数的表现形式,称为十进制形式。


除了十进制形式,也可以采用指数形式,例如 7.25×102、0.0368×105、100.22×10-2 等。任何小数都可以用指数形式来表示。


C语言中的小数也有这两种表示形式。在书写时,十进制形式和数学中的一样,指数形式有所差异。


在C语言中小数的指数形式为:
aEn 或 aen
a 为尾数部分,是一个十进制数,n 为指数部分,是一个十进制整数,E或e是固定的字符,其值为 a×10n。例如:
2.1E5 = 2.1×105,其中2.1是尾数,5是指数。
3.7E-2 = 3.7×10-2,其中3.7是尾数,-2 是指数。
0.5E7 = 0.5×107,其中0.5是尾数,7是指数。


C语言中小数的数据类型为 float 或 double:float 称为单精度浮点数,double 称为双精度浮点数。不像整数,小数的长度始终是固定的,float 占用4个字节,double 占用8个字节。
小数的输出


输出 float 使用 %f 控制符,输出 double 使用 %lf 控制符,如下所示:
#include
#include
int main()
{
    float a = 0.302f;
    float b = 1.23002398;
    double c = 123;
    double d = 78.429;
    float e = 128.101;
    printf("a=%f \nb=%f \nc=%f \nd=%lf \ne=%lf\n", a, b, c, d, e);
    return 0;
}
运行结果:
a=0.302000
b=1.230024
c=123.000000
d=78.429000
e=128.100998


对代码的说明:
1) %f 默认保留六位小数,不足六位以 0 补齐,超过六位按四舍五入截断。


2) 将整数赋值给 float 变量时会转换为小数。
更多交流可以加QQ啊2685896890
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表