首页 > 代码库 > 雷德算法实现到位序
雷德算法实现到位序
转自http://blog.csdn.net/corcplusplusorjava/article/details/17119567
使用雷德算法实现倒位序:
对于自然顺序(二进制)我们是在低位加 1 得到下一位数,对于倒位序我们是在高位加 1 向低位进位。比如已知一个倒位序数是J求其下一个倒位序数,N位总数 ,把J与N/2比较若J<N/2则J的最高位为 0 ,把最高位置 1 ,就得到了J的下一个倒位序数;若J>=N/2则说明J的最高位为1 ,把最高位置0 ,比较次高位,若次高位为0 ,则把次高位置1,得到J的下一个倒位序,若次高位为1 , 则把次高位置0,以此类推...
以N = 8 为例:
倒位数顺序 倒位数 十进制
000 000 0
001 100 4
010 010 2
011 110 6
100 001 1
101 101 5
110 011 3
111 111 7
我的温馨提示,如果看了该博主的博文还没懂得话,那么自己手动模拟一下就会发现了,其实还挺简单的
雷德算法实现到位序