首页 > 解决方案 > 将 IEEE754 转换为自定义浮点表示

问题描述

只是在寻找建议,IEEE754单精度浮点表示应该如何,即以下:

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

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

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

其中隐藏位值是 0.5

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

标签: cfloating-pointieee-754

解决方案


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

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

推荐阅读