什么是格雷码?

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

二进制格雷码与自然二进制码的互换

1、二进制码转换成二进制格雷码 
法则是保留二进制码的最高位作为格雷码的最高位;次高位格雷码为二进制码的高位与次高位相异或,其余各位类似。

static unsigned int DecimaltoGray(unsigned int x){return x^(x>>1);
}//以上代码实现了unsigned int型数据到格雷码的转换,最高可转换32位自然二进制码,超出32位将溢出。   

2、二进制格雷码转换成二进制码 
法则是保留格雷码的最高位作为自然二进制码的最高位;次高位自然二进制码为高位自然二进制码与次高位格雷码相异或,其余各位类似。

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

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

二进制格雷码与自然二进制码之间的转换相关推荐

  1. 8421BCD码 5421BCD码 余三码 格雷码 余三循环码之间的关系,转换以及简易方法

    8421BCD码 5421BCD码 余三码 格雷码 余三循环码之间的关系,转换以及简易方法 1. 有权码和无权码的包括 2.各种码值的介绍 8421码的简介 8421码又称为BCD码,是十进代码中最常 ...

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

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

  3. 二进制-八进制-十进制-16进制之间的转换

    进制之间的转换 主要用到连个函数: Convert.ToInt32(str,numbased):将字符串转成str,按照numbeased指定的进制转成10进制数: Convert.ToString( ...

  4. 二进制的认识、进制之间的转换、计算机储存单位

    二进制: 计算机中的数据不同于人们生活中的数据,人们生活采用十进制数,而计算机中全部采用二进制数表示,它只包含0.1两个数,逢二进一,如:1+1=10.每一个0或者每一个1,叫做一个bit(比特). ...

  5. C# 对象、文件与二进制串(byte数组)之间的转换

    1.关于本文 在使用C#下的TCP(类TcpClient).UDP(类UdpClient)协议传输信息时,都需要将信息转换为byte类型的数组进行发送.本文实现了两种object与byte数组的转换和 ...

  6. C# Object与二进制串(byte数组)之间的转换

    话不多说,看连接 这里是连接 [1]: 转换一. [2]: 转换二.

  7. 4位格雷码的顺序编码_八位格雷码转换器.doc

    八位格雷码转换器 物理与信息技术系本科学年论文 题 目八位格雷码转换器设计 学生姓名 专业名称 测控技术与仪器 指导教师 2009年 9月30日 八位格雷码转换器设计 摘要8 Gray code co ...

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

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

  9. [Verilog]格雷码与二进制码的相互转换

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

最新文章

  1. 编程沉思-做一款小巧而好用的截图软件
  2. 【控制】《多智能体机器人系统信息融合与协调》范波老师-第8章-Agent 技术在机器人智能控制系统的应用
  3. Maven plugins和pluginManagement的区别概述
  4. 对Visual Studio 示例:Fitch and Mather 7.0的研究初步
  5. 前端做CRM管理系统是做什么_代办行业的CRM客户关系管理系统应该是什么样子的?...
  6. Android、Java泛型扫盲
  7. 单片机,微控制器和微处理器的主要区别?
  8. Linux字符终端用鼠标移动一个红色矩形
  9. uview实现点击预览图片效果
  10. ios和Android的PK
  11. 数模论文写作方法2|摘要的技巧
  12. 高德导航车机5.3~6.2共存制作
  13. 计算机对操作系统函数的调用失败,解决win7提示“远程过程调用失败且未执行”的方案...
  14. mysql按工作日查询统计优化_工作日计算问题思路和实现
  15. Linux下输出大字、艺术字--figlet
  16. 迅为iTOP-i.MX6ULL开发板I2C驱动程序实现 I2C通信
  17. 全球及中国游戏方向盘行业营销动态及销售渠道研究报告(2022-2027)
  18. AEJoy —— 表达式之模拟弹簧【JS】
  19. uniapp 实现聊天页面 textarea固定在底部且高度自增
  20. 微型计算机阅读,CHP1微型计算机基础(阅读).ppt

热门文章

  1. 【JAVA】贪吃蛇的初步实现(四)
  2. lwIP 2.1.x 主要更新详情
  3. MP3格式音频转WAV格式开发
  4. 家族信托是什么东东?为何受到富豪们的大力吹捧?
  5. linux 同步北京时间 局域网同步时间
  6. Ubuntu小技巧15--awk命令详解
  7. c语言递归为什么会自动返回,聊聊递归与尾递归——仍然以C语言为例
  8. 【原理与代码讲解】粒子群优化算法 PSO(基础版)
  9. DataSnap 连接池 DSServer1Disconnect
  10. php 三种文件下载的实现