普通二进制码与格雷码的转换

  格雷码计数器(Gray counter)是为了在异步时钟域之间传递计数结果而用到的计数器,因为格雷码计数器计数时相邻的数之间只有一个bit发生了变化,例如:000-001-011-010-110-111-101-100。

 

  一般的,普通二进制码与格雷码可以按以下方法互相转换:
  二进制码->格雷码(编码):从最右边一位起,依次将每一位与左边一位异或(XOR)(http://bk.7tmusic.com/lemma-php/dispose/view.php/379209.htm),作为对应格雷码该位的值,最左边一位不变(相当于左边是0);
  格雷码-〉二进制码(解码):从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变).

转载于:https://www.cnblogs.com/design-LOGIC/archive/2011/12/06/2278397.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
格雷码普通二进制码可以按照以下方法进行互相转换。对于格雷码转换普通二进制码,可以按照以下步骤进行: 1. 从左边第二位起,将每一位格雷码与左边一位解码后的值异或,作为该位解码后的值(最左边一位保持不变)。 2. 重复上述步骤,直到解码完所有位数。 而对于普通二进制码转换格雷码,可以按照以下步骤进行: 1. 从最右边一位起,依次将每一位与左边一位异或,作为对应格雷码该位的值,最左边一位保持不变(相当于左边是0)。 2. 重复上述步骤,直到编码完所有位数。 这样就可以实现格雷码普通二进制码的互相转换。 #### 引用[.reference_title] - *1* *2* [格雷码普通二进制码的相互转换——学习笔记](https://blog.csdn.net/I_LOVE_MCU/article/details/126822306)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [格雷码二进制码转换](https://blog.csdn.net/weixin_30765577/article/details/97881995)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值