前面讲了C语言如何定义整数变量和自然数变量,他们有一个特点,小数点固定在最右边。C语言中还有一类数据,叫做浮点数,它在计算机中,用类似科学计数法的方式存储。浮点数格式的工业标准是 IEEE 754,有两种单精度浮点(用32位二进制表示)、双精度浮点(用64位二进制表示),这两种浮点数将来你们学习《组成原理》课程时,会专门讲解。
单精度浮点(float)
下面这段代码,就定义了一个单精度浮点数
int main(void)
{
float fDanJingDu ;
fDanJingDu = 100.3 ;
printf("%f\r\n", fDanJingDu);
}
运行结果如下:
printf函数里面的 %f,以浮点数的形式,打印后面的参数,默认打印到小数点后6位。
单精度浮点,只能保证6位有效数字,多于6位的部分,不能保证正确。
注意:6位有效数字 和 小数点后6位,不是一个概念,也不是一回事
双精度浮点(double)
下面这段代码,就定义了一个双精度浮点数:
int main(void)
{
double fShuangJingDu ;
fShuangJingDu = 100.3;
printf("%f\r\n", fShuangJingDu);
}
运行结果如下:
双精度浮点,只能保证15位有效数字,多余15位的部分,不能保证正确。
浮点数的注意事项
由于IEEE754浮点数标准的原因, 浮点数比较时,通常不用等于(即 “==”),具体原因对于初学者来说不好理解,等基础知识讲差不多了,再细讲。