【发布时间】:2017-11-01 11:32:50
【问题描述】:
我很难使用定点算法来追踪这个遵循霍纳规则的小数点。
int16_t horner(int16_t q)
{
const int16_t c0 = 0x0033;
const int16_t c1 = 0x0055;
const int16_t c2 = 0x001C;
const int16_t c3 = 0x0048;
const int16_t c4 = 0x0200;
horner_rule = c0 + q * (c1 - q * (c2 + q * (c3 - q * c4)));
return horner_rule;
}
其中c0、c1、等是不同的 16 位有符号系数,q 是我想要评估的值(q 被视为输入并转换为 16 位有符号格式)。所有这些值都已转换为带符号的 16 位格式。我已经用浮点算法实现了这个,它工作得很好。
我的问题是,我应该如何继续获得我想要的值来保持小数点并控制溢出?
【问题讨论】:
标签: c math fixed-point