【问题标题】:How to implement floating point using 16 bit words如何使用 16 位字实现浮点
【发布时间】:2012-01-10 23:16:16
【问题描述】:

如果我只有 16 位宽的内存位置,我将如何实现浮点运算?

我正在尝试实现 IEEE-754 32 位单精度浮点。

谢谢

【问题讨论】:

  • 您需要指定所需的范围和精度,然后才能有人回答这个问题
  • 从您的 cmets 到答案,您似乎想要比单个 16 位字更大的值。在这种情况下,你需要什么?通常,您不会自己实现浮点运算,而是使用诸如 float 或 double 之类的内置类型。如果你打算自己写一些东西,也许你可以做一个定点解决方案。

标签: math floating-point 16-bit


【解决方案1】:

【讨论】:

  • 我明白,但我需要更大的范围。我减去 4385.661621938 - 50 之类的数字
  • @starbox:它可能行不通 - 为什么不使用一对 16 位位置来为您提供 32 位 IEEE-754 浮点数?
  • 我可以这样做,但我该如何处理算术?
  • @starbox:和数学课上的差不多。
  • @starbox, 4385.661621938 不能用 16 位表示:它是二进制的1000100100001.101010010110000000001110001010...
【解决方案2】:

我最终发现没有简单的方法可以做到这一点。我必须为汇编中的所有功能创建自己的软件库。
如果有人对如何执行此操作有疑问,我实现了加、减、乘、平方根、除、余弦和正弦。

【讨论】:

  • 我可以分享算法。你对什么感兴趣?
猜你喜欢
  • 1970-01-01
  • 2015-06-20
  • 2019-10-25
  • 2010-12-12
  • 1970-01-01
  • 2010-09-24
  • 2017-04-19
  • 1970-01-01
相关资源
最近更新 更多