IEEE 754标准 单精度浮点规格化

前言

期末复习了,mark一下,防止以后用到再忘,记性太差了哈哈哈。

IEEE 754标准

顾名思义,是IEEE 协会制定的一个标准,将规格化浮点数分为单精度(32位)、双精度(64位)、扩展精度(80位)

单精度

符号位(31) 阶码(30-23) 尾数有效位(22-0)

如上所示,符号位占1位,阶码占8位,尾数占23位。

双精度

符号位(63) 阶码(62-52) 尾数有效位(51-0)

如上所示,符号位占1位,阶码占11位,尾数占52位。

步骤

  1. 将所给数转换为二进制数
  2. 调整阶码,使尾数最高位为1,然后将这个最高位的1和小数点一起隐含表示,得到尾数
  3. 将上一步规格化后的阶码加上127,并且转换为二进制
  4. 按照符号位、阶码、尾数有效位的顺序 依次写出即可

习题实例说明

下面两道题我们按照上面所说的步骤来。

给定-5,求IEEE 754 标准的单精度浮点数

解:

  1. -5先转换为二进制为-101,由于是负数,最高位符号位用1表示,符号位确定
  2. 规格化使得尾数最高位为1,101 => 1.01 × 22 ,将尾数最高位和小数点一起隐含表示,且尾数在单精度中占23位,则尾数应为01 后面补21个0,尾数确定。即

01 000000000000000000000

  1. 阶码由上一步知规格化后,阶码为2,加上127,变成129,即二进制10000001,阶码确定。

  2. 至此,可以写出来IEEE 754的表示形式

符号位(31) 阶码(30-23) 尾数有效位(22-0)
1 10000001 01 000000000000000000000

给定十进制数178.125,求IEEE 754标准单精度浮点规格化数

解:

  1. 178.125先转换为二进制为10110010.001,由于是正数,最高位符号位用0表示,符号位确定
  2. 规格化使得尾数最高位为1,10110010.001 => 1.0110010001 × 27 ,将尾数最高位和小数点一起隐含表示,即0110010001 ,并且尾数在单精度中占23位,则最终尾数应为0110010001 后面补13个0,尾数确定。即

0110010001 0000000000000

  1. 阶码由上一步知规格化后,阶码为7,加上127,变成134,即二进制10000110,阶码确定。

  2. 至此,可以写出来IEEE 754的表示形式

符号位(31) 阶码(30-23) 尾数有效位(22-0)
0 10000110 0110010001 0000000000000

定采用IEEE754单精度浮点数格式表示一个数为45100000H,则该数的值是__B____。

A.(+1.125)10×210
B.(+1.125)10×211
C.(+0.125)10×211
D.(+0.125)10×210

45100000H=0100 0101 0001 0000 0000 0000 0000 0000
符号位=0,
阶码=10001010,
尾数=00100000000000000000000。
阶码真值=(10001010)2-(127)10=11。
因为隐含了尾数最高数位,尾数为1.001,所以其真值为(+1.125)10×211

发布了200 篇原创文章 · 获赞 99 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_43889841/article/details/103705213