浮点型数据

来源:互联网 发布:剑三dbm数据官网 编辑:程序博客网 时间:2024/05/01 18:44

一、浮点型常量的表示方法
浮点型常量,也称浮点数:就是平常所说的“实数”。
有2种表示形式:
1.十进制小数形式:由数字和小数点组成[注意必须有小数点],如12.3、0.0、0.5410、123.等
2.指数形式:如123e5或123E5都代表123*10的5次方[注意字母E或e之前必须有数字,之后必须是整数]

浮点数有多种指数表示形式,在用指数形式输出时,是按规范化的指数形式输出的
规范化的指数形式:在字母e或E之前的小数部分中,小数点左边有且只有一位非零的数字。如1.2101e5


二、浮点型变量
1.在内存中的存放形式
一个浮点型数据一般在内存中占4个字节[32位],是按指数形式存储的。

系统把一个浮点型数据分成小数部分和指数部分分别存放,且指数部分采用规范化的指数形式
实际上,在计算机中是用二进制数来表示小数部分,用2的幂次来表示指数部分

在4个字节中,究竟用多少来表示小数部分,多少表示指数部分,无具体规定,由编译系统自定。
小数部分占的位越多,有效数字越多,精度也就越高;指数部分占的位越多,能表示数值范围越大


2.分类
分为单精度型float型、双精度型double型和长双精度型long double型 3种
ANSI C未具体规定每种类型数据的长度、精度和数值范围,所以不同的系统有所差异。
Turbo C、Turbo C++ 6.0、MS C的浮点型数据
类型        比特数[位]        有效数字                  数值范围
float         32                6~7        -3.4*10的-38次方~3.4*10的38次方
double        64               15~16       -1.7*10的-308次方~1.7*10的308次方
long double   128              18~19       -1.2*10的-4932次方~1.2*10的4932次方

3.定义
和整型一样,先定义,后使用
定义方法:浮点数类型  变量名

4.舍入误差
由于浮点型变量由有限的存储单元组成,因此能提供的有效数字总是有限的,在有效位以外的数字将被舍去,由此会产生一些误差.
例子3.4 P47


三、浮点型常量的类型
C语言编译系统将浮点型常量作为双精度来处理;
一个浮点型常量可以赋给一个float型、double型或long double型,根据变量的类型截取浮点型常量中的相应有效数字。