计算机组成原理笔记——IEEE754格式解析

1,256 阅读2分钟

IEEE754标准规定常用的浮点数格式有短浮点数(单精度、float)类型、长浮点数、临时浮点数。本篇主要解释的是短浮点数

一、补充知识

1.规格化

所谓规格化操作,是指通过调整一个非规格化浮点数的尾数和阶码的大小,使非零浮点数在尾数的最高位上保证是一个有效值,规格化表示的尾数形式如下
原码规格化后
正数尾数为0.1xx-----x的形式,其最大值表示为0.11----1,最小值表示为0.100-----0
负数尾数为1.1xx-----x的形式,其最大值表示为1.10----0,最小值表示为1.111-----1
补码规格化后
正数尾数为0.1xx-----x的形式,其最大值表示为0.11----1,最小值表示为0.100-----0
负数尾数为1.0xx-----x的形式,其最大值表示为1.01----1,最小值表示为1.000-----0

注意

原码表示的尾数规格化:尾数最高数值位必须是1
补码表示的尾数规格化:尾数最高数值位必须和尾数符号位相反
阶码通常是用补码、移码表示的定点整数
尾数通常是用补码、原码表示的定点小数

2.移码的偏置值

移码的特点:移码保持了数据原有的大小顺序,把移码看作无符号数时,移码大真值大,移码小真值小

注意

上图中偏置值为 127 时,IEEE 754 规定,移码全0和全1表示无符号数255

二、IEEE 754标准

下面以短浮点数的格式进行讲解

1.格式

由于尾数用原码表示,原码规格化数最高数值位必须是1,IEEE754 隐藏表示最高位1,实际的尾数是1.M,注意这个1不是符号位

2.举例

将十进制数转化为 IEEE 754单精度浮点数表示格式
将IEEE 754单精度浮点数表示格式转化为十进制数

3.表示范围

3.其他情况

当阶码为全0或者全1时,情况有所不同

注意

阶码E全为0,尾数M不全为0时,阶码真正固定视为 126 ,而不是127