计算里存放浮点型数据,并不能精确表示。
这两个宏在float.h头文件下面,用来说明double、float两种数据类型有效数字的位数,注意不是小数点后面的有效位数,而是所有位数。
#define DBL_DIG 15 /* # of decimal digits of precision */
#define FLT_DIG 6 /* # of decimal digits of precision */
float能保证的有效位数最多是6~7位,完全能保证的是6位,double是15~16位,完全能保证的是15位。
比如:
float f = 123456.11111
printf("%f\n",f)
输出:
可以看到,超过7位之后的数字就不能保证了。
LZ可以去找找关于float,double表示范围的文章看看。
DBL_MAX:double型的最大值
DBL_MIN:double型的最小值
FLT_MAX:float型的最大值
FLT_MIN:float型的最小值
1、C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
2、尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
3、二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。
4、C是高级语言:它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
5、C是结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于编码、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
a+=b意思是a=a+b
a*=b意思是a=a*b
这个程序是计算e的值,运行结果是e =2.718279
程序有错,应该是
#include "stdafx.h"
#include "stdio.h"
int main()//此处缺少main函数
{
double e = 2,dblIncrement = 2, dblTaylor = 2
do {
e += 1 /dblTaylor
dblIncrement +=1
dblTaylor *=dblIncrement
} while (1 /dblTaylor >1E-5)
printf("e =%lf\n", e)
return 0
}
还缺少头文件stdafx.h,自己添加进去进行了
运行结果是: