【发布时间】:2016-10-12 14:33:00
【问题描述】:
我在(0, 1]中有一系列数字
我想取这些数字的自然对数,然后存储为 8.8 固定点。
我的论坛是K*ln(x) + (1<<16)
但我不确定 K 的最佳价值是什么。
我的想法是如果x翻倍,那么ln(x)增加ln(2),所以定点值应该在定点增加1(即256)
所以,这意味着K = 256/ln(2)
这有意义吗?
【问题讨论】:
-
那会是Q8.8 与 8 位整数和 8 位小数部分相同的 16 位数量吗?
(1 << 16)是否意味着将负数转换为正数?如您所知,ln(0)本质上是负无穷大,因此如果您的大多数数字都来自 (0, 0.01] 范围,那么您可能会选择与大多数数字来自 (0.9, 1] 范围的情况不同的比例。您是否有关于分发的详细信息或类似信息来决定您宁愿放弃哪些信息? -
谢谢。是的,是 Q8.8。但是,我不确定数字范围遵循什么样的分布。
-
一些示例输入和预期结果将有助于澄清。
标签: math fixed-point natural-logarithm