二进制浮点数的算法和IEEE754存储格式的算法

1.二进制浮点数

先分别将整数和小数部分化为二进制,然后整数部分 + 小数点 + 小数部分 + 补的0即可

例:将12.25化为二进制
12的二进制形式为1100,0.25的二进制为0.01,所以结果为1100.01。

2.IEEE754存储格式

  1. 浮点数化为二进制后,将其小数点移到第一位1的后面,并把第一位1和小数点去掉,余下部分为该格式的尾数(去掉1是因为规格化规范为1.XXX,可把1去掉增加一位精度)。
  2. 计算127(此为32位的偏移量,64位的偏移量为1023) + 之前小数点移动的位数,再将其化为二进制,此为该格式的阶码
  3. 判断该数的正负,正为0负为1,此为该格式的符号位
  4. 把符号位,阶码,尾数连起来,即为所求的IEEE754格式。
  5. 存储格式为:1位符号位 + 8位阶码 + 23位尾数(32位)或1位符号位 + 11位阶码 + 52位尾数(64位)

例:将12.25化为IEEE754规范下的二进制格式

  1. 1100.01化为1.10001,小数点移动了3位,可得尾数为10001000000000000000000
  2. 计算得阶码为130,化为二进制为10000010
  3. 该数为正数,符号位为0,则最终IEEE754格式为0 10000010 10001000000000000000000
posted @ 2020-08-06 21:26  w树中玉r  阅读(390)  评论(0)    收藏  举报