【问题标题】:What integer operations can be efficiently emulated using floating point?使用浮点可以有效地模拟哪些整数运算?
【发布时间】:2019-04-09 13:01:54
【问题描述】:

我需要在本机支持 16 位整数数学和 32 位浮点运算的处理器上工作。 一些针对处理器的算法要求整数数学精度高于 16 位。最直接的选择是使用 16 位整数运算进行模拟。 我注意到一些架构支持 24 位整数数学运算。我怀疑这与尾数大小为 24 位有关。所以浮点单元以某种方式被用于整数数学。 在某些情况下是否可以使用浮点指令来提高效率?

【问题讨论】:

  • “我注意到一些架构支持 24 位整数数学运算。我怀疑这与尾数大小为 24 位有关。” --> 各种PIC24处理器都支持24位整数,因为地址空间和指令宽度都是24位的。

标签: floating-point integer numerical-methods


【解决方案1】:

假设 IEEE-754 浮点,任何幅度高达 2^24 的整数都可以精确表示,并且所有产生范围内结果的操作都将产生精确的整数结果。 (当然,您需要手动处理除法结果的舍入。)对于更广泛的整数类型,有某些 FP 技术(基于将单个数字存储为具有非重叠有效位的多个浮点数的总和)但那些可能比仅仅进行传统的多字算术运算要慢得多。

【讨论】:

    猜你喜欢
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    • 2012-03-19
    • 1970-01-01
    • 2021-06-16
    • 2021-08-08
    相关资源
    最近更新 更多