<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 基礎入門 >> 數字電子電路 >> 正文

      格雷碼與二進制的轉換

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2022/6/1

      一、什么是格雷碼?

      格雷碼,又叫循環二進制碼或反射二進制碼,格雷碼是我們在工程中常會遇到的一種編碼方式,它的基本的特點就是任意兩個相鄰的代碼只有一位二進制數不同,這點在下面會詳細講解到。格雷碼的基本特點就是任意兩個相鄰的代碼只有一位二進制數不同,這點很重要。常用的二進制數與格雷碼間的轉換關系如下表:

      自然數二進制數格雷碼列表 

      二、二進制格雷碼與自然二進制碼的互換

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

       //根據二進制轉換成格雷碼的法則,可以得到以下的代碼:
      static unsigned int DecimaltoGray(unsigned int x)
      {
      return x^(x>>1);
      }
      
      
      //以上代碼實現了unsigned int型數據到格雷碼的轉換,最高可轉換32位自然二進制碼,超出32位將溢出。 
      static int DecimaltoGray( int x)
      {
      return x^(x>>1);
      }
      
      
      //以上代碼實現了 int型數據到格雷碼的轉換,最高可轉換31位自然二進制碼,超出31位將溢出。 

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

      根據二進制格雷碼轉換成自然二進制碼的法則,可以得到以下的三種代碼方式: 
             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;
             }       
        //以上代碼實現了unsigned int型數據到自然二進制碼的轉換,最高可轉換32位格雷碼,
      超出32位將溢出。將數據類型改為int型即可實現31位格雷碼轉換。
      Tags:格雷碼,二進制,數字電路  
      責任編輯:admin
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      最新推薦
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 亚洲综合色一区二区三区| 亚洲欧洲日韩国产综合在线二区| 亚洲综合色丁香麻豆| 亚洲综合在线成人一区| 色综合久久久久综合99| 亚洲综合国产精品第一页| 国产综合精品蜜芽| 亚洲色偷偷综合亚洲AV伊人蜜桃| 色噜噜狠狠狠狠色综合久| 久久综合精品不卡一区二区| 一本久道综合色婷婷五月| 久久精品国产9久久综合| 色99久久久久高潮综合影院| 亚洲国产综合专区在线电影| 狠狠做深爱婷婷综合一区| 久久综合久久综合亚洲| 色综合久久久久综合体桃花网| 国产成人亚洲综合| 亚洲av综合日韩| 97se亚洲国产综合自在线| 久久综合香蕉国产蜜臀AV| 色爱区综合激情五月综合激情| 人人婷婷色综合五月第四人色阁 | 久久亚洲伊人中字综合精品| 色欲香天天综合网站| 国产香蕉久久精品综合网| 久久综合九色综合91| 亚洲国产成人久久综合一| 狠狠色噜噜狠狠狠狠狠色综合久久| 色偷偷狠狠色综合网| 亚洲综合成人婷婷五月网址| 91综合精品网站久久| 狠狠色狠狠色综合日日五| 色综合久久98天天综合| 亚洲国产天堂久久综合| 亚洲国产综合无码一区| 色欲综合久久中文字幕网| 18和谐综合色区| 亚洲国产精品综合久久网络 | 天堂久久天堂AV色综合| 玖玖爱zh综合伊人久久|