我需要计算公式的定点值:
e ^ ( Konst/x*y )
我使用第三方divide()antilog()函数,例如:

div = divide( Konst, x*y );
out = antilog( div );

Mydivide()在输出时给出
bits 23…0 fractional part(当移位时,这实际上是Q0.31格式)

<< 8
bits 31…24 exponent需要输入值。
如何以antilog()格式向Q6.25提供有意义的内容?
在这种情况下,如何从一种格式转换到另一种格式?
附笔
如果antilog()的输出非常大,如果不进行缩放就无法适应Q6.25会发生什么?在这种情况下,如何进行divide

最佳答案

“位23…0小数部分(当移位<好吧,重点是你不是按8移位,而是按指数部分(位31..24)移位。注意,指数几乎肯定是有偏的;位00000000不是指数<<0而是可能>>127左右。(检查文档)。
所以,减去偏差,再减去6,Q6.25,然后移位。

关于c - 定点转换:31…24指数与23…0的分数到Q25值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41955058/

10-13 03:00