• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            runsisi

              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
              45 隨筆 :: 15 文章 :: 26 評論 :: 0 Trackbacks

            1.自然二進制碼轉換成二進制格雷碼
             自然二進制碼轉換成二進制格雷碼,其法則是保留自然二進制碼的最高位作為格雷碼的最高位,而次高位格雷碼為二進制碼的高位與次高位相異或,而格雷碼其余各位與次高位的求法相類似。
            2.二進制格雷碼轉換成自然二進制碼
             二進制格雷碼轉換成自然二進制碼,其法則是保留格雷碼的最高位作為自然二進制碼的最高位,而次高位自然二進制碼為高位自然二進制碼與次高位格雷碼相異或,而自然二進制碼的其余各位與次高位自然二進制碼的求法相類似。
             

            a>自然二進制碼轉換成二進制格雷碼

            1.unsigned int型數據到格雷碼的轉換,最高可轉換32位自然二進制碼,超過32位將溢出

            static unsigned int decimal_to_gray(unsigned int x)
            {
             
            return x^(x>>1);
            }

             
            2.int型數據到格雷碼的轉換,最高可轉換31位自然二進制碼,超出31位將溢出。

            static int decimal_to_gray(int x)
            {
             
            return x^(x>>1);
            }

             

            b>二進制格雷碼轉化成自然二進制碼

            1.

            static unsigned int gray_to_decimal(unsigned int x)
            {
             unsigned 
            int y=x;
             
            while(x>>=1)
              y
            ^=x;
             
            return y;
            }


            2.

            static unsigned int gray_to_decimal(unsigned int x)
            {
             x
            ^=x>>16;
             x
            ^=x>>8;
             x
            ^=x>>4;
             x
            ^=x>>2;
             x
            ^=x^1;
             
            return x;
            }


            3.

            static unsigned int gray_to_decimal(unsigned int x)
            {
             
            int i;
             
            for(i=0;(1<<i)<sizeof(x)*8;i++)
             
            {
              x
            ^=x>>(1<<i);
             }

             
            return x;
            }

            以上代碼實現了unsigned int型數據到自然二進制碼的轉換,最高可轉換32位格雷碼,超出32位將溢出。將數據類型改為int型可實現31位格雷碼轉換。

            posted on 2009-03-15 14:00 runsisi 閱讀(2094) 評論(0)  編輯 收藏 引用
            久久天天躁狠狠躁夜夜不卡 | 一本大道久久香蕉成人网| 久久国产精品无码HDAV| 国产精品久久成人影院| 久久久久久青草大香综合精品| 久久夜色撩人精品国产| 久久久久久亚洲精品成人 | 亚洲综合精品香蕉久久网| 97热久久免费频精品99| 久久夜色撩人精品国产| 91精品国产91久久综合| 亚洲精品无码久久不卡| 久久久久久综合一区中文字幕 | 久久久久亚洲AV片无码下载蜜桃| 久久福利青草精品资源站| 久久久久亚洲国产| 久久精品视频网| 欧美亚洲色综久久精品国产| 精品久久久久久无码中文野结衣 | 亚洲一级Av无码毛片久久精品| 国产人久久人人人人爽| 国产成人AV综合久久| 久久综合色老色| 久久精品亚洲欧美日韩久久| 久久91精品国产91久久户| 久久久午夜精品福利内容| 久久综合综合久久97色| 亚洲精品无码专区久久久| 久久人人爽人人爽人人片AV东京热| 久久99精品久久久久婷婷| 亚洲午夜久久久久妓女影院| 久久国产精品77777| 久久久久这里只有精品| 亚洲伊人久久大香线蕉苏妲己 | 久久99精品国产| 久久天堂AV综合合色蜜桃网| 久久精品免费一区二区| 香蕉久久夜色精品国产尤物| 香蕉99久久国产综合精品宅男自| 久久国产香蕉视频| 国产精品综合久久第一页|