世界杯预选赛亚洲区_高达世界杯 - fzxzyy.com

C语言double数据类型介绍、示例和应用经验

- 19世界杯

文章目录

1、浮点数的概念2、测试double数据类型3、应用经验4、获取视频教程5、版权声明

1、浮点数的概念

浮点数也称小数或实数。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小数。

C语言中采用float和double关键字来定义小数,float称为单精度浮点型,double称为双精度浮点型,long double更长的双精度浮点型。

2、测试double数据类型

C标准规定,double类型必须至少能表示10位有效数字,且取值范围至少是10-37~10+37。

我们用以下代码来测试double类型的特点。

示例

/*

* 程序名:book.c,此程序测试double的特征

* 作者:C语言技术网(www.freecplus.net) 日期:20190525

*/

#include

int main()

{

double ff2=9.9; // 测试2位的浮点数

printf("ff2=%lf\n",ff2);

if (ff2==9.9) printf("ff2与9.9相等。\n");

double ff12=999999999.99; // 测试12位的浮点数

printf("ff12=%lf\n",ff12);

if (ff12==999999999.99) printf("ff12与999999999.999相等。\n");

double ff13=9999999999.99; // 测试13位的浮点数

printf("ff13=%lf\n",ff13);

if (ff13==9999999999.99) printf("ff13与9999999999.999相等。\n");

double ff14=99999999999.99; // 测试14位的浮点数

printf("ff14=%lf\n",ff14);

if (ff14==99999999999.99) printf("ff14与99999999999.999相等。\n");

double ff15=999999999999.99; // 测试15位的浮点数

printf("ff15=%lf\n",ff15);

if (ff15==999999999999.99) printf("ff15与999999999999.999相等。\n");

double ff16=9999999999999.99; // 测试16位的浮点数

printf("ff16=%lf\n",ff16);

if (ff16==9999999999999.99) printf("ff16与9999999999999.999相等。\n");

double ff17=99999999999999.99; // 测试17位的浮点数

printf("ff17=%lf\n",ff17);

if (ff17==99999999999999.99) printf("ff17与99999999999999.999相等。\n");

double ff18=999999999999999.99; // 测试18位的浮点数

printf("ff18=%lf\n",ff18);

if (ff18==999999999999999.99) printf("ff18与99999999999999.999相等。\n");

}

运行效果

从程序的运行我们可以看出double数的两个特征:

1)double数据类型表达的也是一个近似的数,不是准确的,小数点后的n位有误差,浮点数的位数越大,误差越大,到18位的时候,误差了1,基本上不能用了。

2)用“==”可以比较两个double数值是否相等。

3、应用经验

float浮点型的精度最多只有8位,并且不能用==判断两个浮点数是否相等,在实际开发中,弃用float,只使用double型就可以了。

4、获取视频教程

百万年薪程序员录制,《C/C++高性能服务开发基础》视频教程已在CSDN学院发布,优惠价12元,地址如下: https://edu.csdn.net/course/play/29402

5、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

来源:C语言技术网(www.freecplus.net)

作者:码农有道

如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发此文,让更多的人可以看到它,谢谢!!!

Win10自带的输入法怎么进行设置?Win10输入法设置方法
原创江湖侠客令好玩吗?江湖侠客令好不好玩评测