实型数据类型指的就是浮点数或实数
1、实型数据类型的分类
类型说明符 | 比特数(字节数) | 有效数字 | 数的范围 |
float | 32(4) | 6~7 | -10的38次方~10的38次方 |
double | 64(8) | 15~16 | -10的308次方~10的308次方 |
(1)实型数据没有办法精确的表示所有数字,因此表示的范围大
(2)相邻两个数据的距离是不等距的
(3)每一种实型数据都有自己的有效位数和精度
2、实型数据的表示
1) 十进制数形式
由数码0~ 9和小数点组成。 例如:0.0、25.0、5.789、0.13、5.0、300.、-267.8230 等均为合法的实数。
注意,必须有小数点。
2) 指数形式
由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为:
a E n(a为十进制数,n为十进制整数)
其值为 a*10n。如:2.1E5 (等于2.1*105) 3.7E-2 (等于3.7*10-2) 0.5E7 (等于0.5*107) -2.8E-2 (等于-2.8*10-2)
以下不是合法的实数:
345 (无小数点)
E7 (阶码标志E之前无数字)
-5 (无阶码标志)
53.-E3 (负号位置不对)
2.7E (无阶码)
3、C语言中float和double数据在内存中的表示
前面的符号位很容易判断为0或者是1,指数部分称之为阶码,这个阶码部分是由偏置值(127或1111111)和阶码真值相加得到的,阶码真值符合IEEE-75标准,这个标准规定了是这个数一定能写成1.--*2的多少次方的形式,尾数部分的存储是原码的存储。