将IEEE754转换为自定义浮点表示

时间:2018-07-29 13:47:58

标签: c floating-point ieee-754

仅需寻找建议, IEEE754单精度浮点表示形式应该如何:

  

-1 符号 * 2 指数-127 * 1.尾数 2

其中隐藏位的价值为1.0 ,请准确有效转换为自定义浮点表示格式,如下所示:

  

-1 符号 * 2 指数-128 * 0.1尾数 2

隐藏的比特价值为0.5

我不打算将工作委托给某人来为我完成这项工作,而是主要是寻求有关如何以正确且最准确的方式进行工作的建议。

1 个答案:

答案 0 :(得分:3)

在第一种方案中表示某个值 x 的位在第二种方案中表示 x / 4。因此,很明显,为了表示第二种方案中的 x ,通常一个将指数增加2。然后只有异常情况要处理:

  • 如果指数为255,则对象为无穷大或NaN。退回原样。
  • 如果指数是253或254,则不能将其加2,因此结果是无穷大。
  • 如果指数为0,则该数字为次正规数。如果有效位字段的两个高位为00,则只需将有效位左移两位。否则,如果位为01,则将有效位左移两位(丢弃移出的位),然后将指数设置为1。否则,将有效位左移一位并将指数设置为2。
  • 否则,将两个指数相加。