记录一个菜逼的成长。。
解释与图转自:http://m.blog.csdn.net/article/details?id=50273039
在实现FFT(快速Fourier变换)计算的时候,第一步要做的就是实现码位(二进制码)倒序,这里有一种算法,叫做雷德(Rader)算法。
废话少说,请看下面0-7的顺序排列与倒序排列:
由上面的表可以看出,按自然顺序排列的二进制数,其下面一个数总是比其上面一个数大1,即下面一个数是上面一个数在最低位加1并向高位进位而得到的。而倒位序二进制数的下面一个数是上面一个数在最高位加1并由高位向低位进位而得到。
若已知某个倒位序J(0是已知的嘛),要求下一个倒位序数:
首先判断J的最高位是否为0,这可与k=N/2相比较,因为N/2总是等于100..的。
如果k>J,则J的最高位为0,只要把该位变为1(J与k=N/2相加即可),就得到下一个倒位序数;
如果K<=J,则J的最高位为1&#