先说明很重要的一点
用移码表示阶码和用IEEE 754标准表示阶码是两回事,IEEE754标准中偏移值是127,而移码表示阶码时偏移值是128
IEEE 754 的移码不同于别的移码(移码又叫增码是符号位取反的补码,一般用指数的移码减去1来做浮点数的阶码,引入的目的是为了保证浮点数的机器零为全0。)
组成
IEEE754标准包含一组实数的二进制表示法。它有三部分组成:
- 符号位
- 指数位
- 尾数位
三种精度的浮点数各个部分位数如下:
float.png正规化
对于将某个实数表示为计算机浮点数,首先要将其正规化,也就是表示为形如:
[图片上传失败...(image-ee01c7-1544701857746)]
的样子。其中b
是0
或1
,而p
二进制数表示的指数位。这样,假设想表示为单精度的浮点数,那么第一位符号位用0
表示正,用1
表示负,在将指数p
加上移码表示为8位的二进制数,在接下来的23位填充位数b
部分。由于正规化表示时,最左边部分总是1
,所以我们只需表示23位的尾数即可。
网友评论