单精度浮点数

维基百科,自由的百科全书
跳转到导航 跳转到搜索

单精度浮点数(英语:single-precision floating-point)是用来表示浮点数的一种数据类型,在计算机中占据32比特(4字节)大小,因此也称为float32FP32。在IEEE 754中这种32位二进制格式被正式称为binary32格式,而在IEEE 754-1985中被称为single[1],即单精度。

利用“浮点”(浮动小数点)的方法,浮点数可以表示一个范围很大的数值。需要注意的是,在更早的一些计算机系统中,也存在着其他4字节的浮点数格式。

定义[编辑]

第1位表示正负,中间8位表示指数,后23位储存有效数位(有效数位是24位)。

符号位的正负号0代表正,1代表负。

指数字段是一个字面值为0到255的8位无符号整数,字面值与实际指数值有着127的固定偏移量,即字面值127表示的实际指数值为0。由于字面值0(二进制位全为0)和255(二进制位全为1)为保留值,用来表示次正规数、有符号零、无穷大NaN等特殊情况,所以指数的实际范围为-126到+127(对应字面值1到254)。

有效数位最左手边的1并不会储存,因为它一定存在(二进制的第一个有效数字必定是1)。换言之,有效数位是24位,实际储存23位。

示例[编辑]

File:Float example.svg

<math>\text{sign} = +1 </math>
<math>\text{exponent} = (-127) +124 = -3</math>
<math>\text{fraction} = 1 + 2^{-2} = 1.25 </math>
<math>\text{value} = (+1) \times 1.25 \times 2^{-3} = +0.15625 </math>

参阅[编辑]

参考资料[编辑]

  1. ^ IEEE Standard for Binary Floating-Point Arithmetic. 1985. ISBN 0-7381-1165-1. doi:10.1109/IEEESTD.1985.82928.