【转帖注明出处:blog.csdn.net/lanmanck】
网上搜了一下没发现非常合适的,特写出来与大家分享。
大家都知道嵌入式系统里带浮点运算指令的CPU都比較少,TI的DSP也是定点的廉价。那么我们运算时想把浮点数速度提高怎么办?有人就想到了,把浮点转成定点就能够了。好了IQmath就是干这个事的。
举个样例。有个数为0.2,直接用C语言也能够做,那么IQMath怎么用?
比如我们调用一个IQ16(0.2),它的意思是。返回一个32bit的数,这个数=IQ16(0.2)=2^16 * 0.2 = 65536 * 0.2 = 13107。也就是说IQ16是2的16次幂,然后乘于浮点数,把小数点扔掉,13107就是IQ运算的数。其它浮点数也用IQ16包起来,大家都用这个IQ数进行运算。速度提高了!
不妥之处请指出啊~~~