格雷码

格雷码

格雷码是一个二进制数系,其中两个相邻数的二进制位只有一位不同。举个例子,3位二进制数的格雷码序列为
000,001,011,010,110,111,101,100
记G(0)表示第1个格雷码,则有

int G(n)
{
   return n^(n>>1);
}

求某个格雷码是第几个

int rev_g(n){
   int ans=0;
   while(n){
   ans^=n;
   n/=2;      
   }
}
原文地址:https://www.cnblogs.com/flightless/p/13767350.html