二进制码和格雷码可以相互转换:

分别从硬件电路和软件方面实现的方法:

硬件电路:

一位不产生进位的加法电路用异或门就可以实现,下图左边为一个二进制-格雷码转换器器,右边为一个格雷码-二进制码转换器。

参考电路:https://blog.csdn.net/zhong_ethan/article/details/103110163

异或电路符号:

程序的算法实现:

二进制转为格雷码:

格雷码转换为二进制码

具体代码算法参考:

https://blog.csdn.net/jingfengvae/article/details/51691124

二进制码和格雷码转换问题相关推荐

  1. C语言学习:二进制码与格雷码的转换

    格雷码,又叫循环二进制码或反射二进制码,格雷码是我们在工程中常会遇到的一种编码方式,它的基本的特点就是任意两个相邻的代码只有一位二进制数不同. 格雷码的基本特点就是任意两个相邻的代码只有一位二进制数不 ...

  2. 自然二进制码与格雷码相互转换【CSDN】

    自然二进制码与格雷码相互转换 一.格雷码简介 格雷码是由弗兰克·格雷于1953年发明,其主要特点是相邻编码值中间只有一个比特发生改变,又被称为循环码. 格雷码是一种无权码,采用绝对编码方式,典型格雷码 ...

  3. 【数字电路基础】格雷码、二进制码与格雷码的转换、独热码

    文章目录 一. 格雷码 二.二进制码与格雷码的转换 2.1.二进制码转格雷码(编码) 2.2.格雷码转二进制码(解码) 三.代码实现 3.1.`b2g.v`(**二进制码转格雷码**) 3.2.`g2 ...

  4. 格雷码转换成二进制c语言程序,格雷码与二进制的转换程序

    /* 格雷码与二进制的转换程序 * 本程序采用递推的方法进行推导,可以转换0~2147483647之间的数(1~31位) * 推导方式如下(以三位格雷码为例): * 序号 格雷码 格雷码实值 二进制码 ...

  5. 二进制码、格雷码、独热码的区别

    格雷码 在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code),另外由于最大数与最小数之间也仅一位数不同,即"首尾相连",因此又称循 ...

  6. Verilog常见编码方式:二进制码、格雷码、独热码

    Verilog常见编码方式有:二进制码.格雷码.独热码:三种编码方式各有特点利弊,因此有必要理解比较,以求不同场合的合理选择: 目录 一.结论: 二.详细了解 二进制码 格雷码 独热码 比较 三.参考 ...

  7. 【verilog】 异步FIFO设计(格雷码转换,跨时钟域)

    功能图 空满判别 顶层 子模块 测试 功能图 空满判别 对FIFO的空满判断采用地址位扩展的方法 waddr=raddr,fifo为空 waddr[最高bit]≠raddr[最高bit],waddr[ ...

  8. 【Verilog基础】为什么状态机中多使用独热码,而不是二进制码或者格雷码?

    为什么例子中我们使用的是独热码而非二进制码或格雷码呢? 那就要从每种编码的特性上说起了,首先独热码因为每个状态只有 1bit 是不同的,例如在执行到(state== TWO)这条语句时,综合器会识别出 ...

  9. FPGA异步时钟域处理之格雷码转换

    0 本章目录 1)时钟域定义 2)为什么要做跨时钟域的处理? 3)FPGA简介 4)结束语 1 时钟域定义 所谓时钟域,就是同一个时钟驱动的区域.单一时钟域是FPGA的基本组成部分,但是随着设计规模扩 ...

  10. 格雷码与普通二进制码的相互转换——学习笔记

    文章目录 格雷码 普通二进制码转换成格雷码 格雷码转换成普通二进制码 进一步 Reference 文章中内容与图片大部分来自Reference,本文只是以方便自己理解的方式进行整理. 格雷码 在一组数 ...

最新文章

  1. make menuconfig 错误
  2. 【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 修改 7zr 交叉编译脚本 Android.mk | 交叉编译 lib7zr.so 动态库 )
  3. SSO模型及单点登录SSO技术选型
  4. 在Python中操作文件之truncate()方法的使用教程
  5. C++ 定时器的用法:SetTimer和Ontimer
  6. CDH Kerberos 认证下Kafka 消费方式
  7. js_!和!!的使用
  8. 分享一种中小企业的文件服务器方案
  9. 【Spring】Spring lazy-init:bean延迟初始化
  10. Android小应用-----画画板
  11. Python 基础 —— str
  12. mysql执行提交与回滚
  13. 6.4两种给定两个均不超过9的正整数k和n,要求编写程序求k+kk+kkk++…+kk…k (n个k,不是n个k乘积)之和
  14. 随机森林:对UCI数据集的分类实现
  15. 视频教程-【企业定制课】AI软件illustratorCC应用与平面印刷视频教程-UI
  16. 【原创】Structure from Motion (SfM)算法测试---3D重建简介
  17. [CyanogenMOD移植教程]第一章:环境的搭建
  18. linux编译trinitycore,[MAC] 编译安装和测试《魔兽世界》模拟服务端 TrinityCore
  19. keep T 不是 KG等级_keep的用法
  20. 苹果手机信号是哪个服务器,为什么普遍苹果手机信号比安卓机还要差呢?总算是搞明白了...

热门文章

  1. 嵌入式linux 电容触摸屏驱动框架
  2. np学习——OSPF的典型配置案例
  3. 服务器如何连接到虚拟机PXE,实机通过PXE启动虚拟机,如何设置
  4. 电机功率与转矩/扭矩的关系
  5. 计算机网络网线颜色,网络线接法-各种网线的分类和区别-电气资讯 - 电工屋
  6. 如何区分网线是几类的_几类网线怎么区分
  7. java名片_JAVAeclipse3制作名片
  8. 再见实体店!推荐一个Python神器,能在线帮助小姐姐试衣服!
  9. cryptojs vue 使用_vue 中引入cryptoJS
  10. 2023南京邮电大学计算机考研信息汇总