整形与格雷码互转

Posted 珵诩媛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了整形与格雷码互转相关的知识,希望对你有一定的参考价值。

整形转格雷码

x= (x>>1)^x

 

格雷码转整形(3种方法)

       static unsigned int GraytoDecimal(unsigned int x)
       {
          unsigned int y = x;
          while(x>>=1)
            y ^= x;
          return y;
       }       
       static unsigned int GraytoDecimal(unsigned int x)
       {
          x^=x>>16;
          x^=x>>8;
          x^=x>>4;
          x^=X>>2;
          x^=x^1;
          return x;
       }       
       static unsigned int GraytoDecimal(unsigned int x)
       {
         int i;
          for(i=0;(1<<i)<sizeof(x)*8;i++)
          {
             x^=x>>(1<<i);
         }
         return x;
       }

? staticunsignedint GraytoDecimal(unsignedint x) ? { ? unsignedint y = x; ? while(x>>=1) ? y ^= x; ? return y; ? } ? staticunsignedint GraytoDecimal(unsignedint x) ? { ? x^=x>>16; ? x^=x>>8; ? x^=x>>4; ? x^=X>>2; ? x^=x^1; ? return x; ? } ? staticunsignedint GraytoDecimal(unsignedint x) ? { ? int i; ? for(i=0;(1<<i)<sizeof(x)*8;i++) ? { ? x^=x>>(1<<i); ? } ? return x; ? }

以上是关于整形与格雷码互转的主要内容,如果未能解决你的问题,请参考以下文章

格雷码——java代码

iOS-地图真实坐标表示形式之间转换(double型,int型 互转)

通信系统未编码卷积码与格雷码的仿真性能比较

使用 ffmpeg 实现 MP4 与 GIF 的互转

格雷码如何转换成二进制?

格雷码那点事——递归非递归实现