|
|
1
7
你要找的价值是
选择0..128范围内的x,不需要近似值:取
|
|
|
2
2
假设插入一系列值,其中前一个端点是新的起点:
听起来是个坏主意。如果使用基255作为定点表示,则会得到两次相同的插值。当x=255时得到b,当x=0时得到新的a。
使用256作为定点系统。除法变为移位,但需要16位算术运算和8×8乘法运算以及16位结果。上一个问题可以通过简单地忽略较高字节中的任何位来解决
pic的指令集中缺少这些操作:
您可以使用rotate right来进行右移,然后使用按位和来屏蔽左侧多余的位。用16位结果进行8x8乘法的直接方法:
|
|
|
3
1
你可以用8.8定点算法来做。然后0到255之间的数字将被解释为0.0…0.996,您就可以对其进行乘法和规格化。 告诉我你是否需要更多的细节或者是否足够开始。 |
|
4
1
您可以将其描述为:
使用x=0..255的值范围,将256/(x+1)的值作为表中的定点数预计算,然后对通用乘法进行编码,调整二进制点的位置。这可能不是很小的空格;我希望您需要一个包含16位值和乘法代码的256条目表。(如果你不需要速度,这表明你的除法是好的。)但只需要一个乘法和一个加法。 我的猜测是,你不需要所有可能的x值。如果只有几个x值,你可以离线计算它们,对x的特定值做一个case选择,然后按照固定的移位序列和x的特定值的加法来实现乘法。这很可能是代码效率很高,拍照速度也很快。 |
|
|
5
1
插值给定两个值 X 和; Y ,基本上是:
因此,请尝试以下操作: (伪代码)
实际的代码同样简单。只是我不记得那些登记册和说明书。 |
|
|
6
1
Eric Bainville和Mads Elvheim所描述的技术将运行良好;每个插值使用两个倍数。 Scott Dattalo和Tony Kubek提出了一种超优化的特定于pic的插值技术,称为“ twist “这比每次插值两倍稍快。 使用这种难以理解的技术是否值得运行得更快一点? |