C语言程序设计谭浩强版 二

来源:互联网 发布:intouch10.5软件下载 编辑:程序博客网 时间:2024/05/16 15:29

3.4 实型数据


3.4.1 实型常量的表示方法


1)、 十进制数形式:由数码0~ 9和小数点组成。例如:0.0、25.0、5.789、0.13、5.0

2) 、指数形式:由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,

        可以带符号)组成。

        其一般形式为: a E n(a为十进制数,n为十进制整数),其值为 a*10n。

如: 2.1E5 (等于2.1*10的5次方)

        3.7E-2 (等于3.7*10的-2次方)

        0.5E7 (等于0.5*10的7次方)

       -2.8E-2 (等于-2.8*10的-2次方)


3.4.2 实型变量


1)、实型数据在内存中的存放形式


实型数据一般占4个字节(32位)内存空间。按指数形式存储。

 

例如,实数3.14159在内存中的存放形式如下:



具体的小数部分和指数部分所占的位数由编译器决定。小数部分占的位(bit)数愈多,

数的有效数字愈多,精度愈高。指数部分占的位数愈多,则能表示的数值范围愈大。


2)、实型变量的分类


实型变量分为:单精度(float型)、双精度(double型)和长双精度(long double型)三类。如下图:



3)、实型数据的舍入误差


由于实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的,在有效位以外的数字将被舍弃。


例如:实型数据的舍入误差

#include<stdio.h>int main(void){    float a,b;    a = 123456.789e5;    b = a + 20;    printf("%f",b);}

上述程序中输出结果为b等于a,b 是双精度型,有效位为十六位。但Turbo C 规定小数后

最多保留六位,其余部分四舍五入。所以,我们应该尽量避免在程序中出现一个很大的数

与一个很小的数相加减,否则会出现丢失小的数。


3.4.3 实型常量的类型 


实型常数不分单、双精度,都按双精度double型处理。




0 0
原创粉丝点击