【发布时间】:2017-01-31 10:23:22
【问题描述】:
我需要计算公式的定点值:
e ^ ( Konst/x*y )
我使用第 3 方 divide() 和 antilog() 函数,例如:
div = divide( Konst, x*y );
out = antilog( div );
我的divide() 在输出时给出bits 23…0 fractional part(这实际上是Q0.31 转换时<< 8 时的格式)
和bits 31…24 exponent。
antilog() 期望输入 Q6.25 值。
如何以Q6.25 格式向antilog() 提供有意义的内容?
在这种特定情况下,我如何从一种格式转换为另一种格式?
附言
如果divide 给出的输出非常大,如果不缩放就无法适应Q6.25,会发生什么?那样的话e^(scale*Q6.25)怎么办?
【问题讨论】:
-
什么是 Q6.25?没有谷歌搜索结果。
-
@PaulOgilvie:一个 32 位定点值,范围为 (-64.0, +64.0)。
-
@PaulOgilvie 检查en.wikipedia.org/wiki/Q_(number_format).
标签: c signal-processing fixed-point