在程序运行过程中可以改变其值的实型量被称为实型变量,实型变量根据数值的范围可分为单精度(float),双精度(double)和长双精度(long double)3种类型。
c(c++)中实型变量的输入格式是%f;
printf("%f",354.345);
输出结果为:
354.345
输出格式也可以是"%.nf",n代表小数点后保留的位数。如:
printf("%.3f",12.34567);
输出结果:
12.345
也可以是"%x.yf",其中y表示小数点后保留的位数,x表示这个数带上标点所占的总的位数,如:
printf("%8.2f",354.345);
输出结果为:
354.34
数字354.34共6位,数字向后靠拢,前面留出两个空格,共8位,如果x小于等于6,大于等于负6,则输出:
354.34,前后均无空格;如果x小于负6,则输出数字向前靠拢,后面留出空格,使数字位数加上小数点位数加上空格位数共|x|位。
定义
实型变量定义的一般形式如下:
类型说明符 变量名1;
例:
单精度型变量定义的形式如下:
float x,y;
双精度型变量定义的形式如下:
double a,b,c;
长双精度型变量定义的形式如下:
long double c;
fa是单精度浮点型的变量,有效位数(有效位数是指整数部分和小数部分的总位数)6~7位
db是双精度浮点型的变量,有效位数(有效位数是指整数部分和小数部分的总位数)15~16位
实行数据的储存
一个实型数据一般在内存中占4个字节(32)位。与整型数据的存储方式不同,实型数据时按照指数形式储存的。系统把一个实型数据分成小数部分和指数部分,分别存放。指数部分采用规范化的指数形式。
数据类型 | 存储单元 | 取值范围 | 有效数字 |
float | 4个字节 | 3.4E +/- 38 | 6~7位 |
double | 8个字节 | 1.7E +/- 308 | 15~16位 |
long double | 16个字节 | 1.2E +/- 4932 | 18~19位 |
在VC6.0中,所有的单精度实型在运算中都自动转化成双精度实型。在内存中,实数一律是以指数形式存放。