经验:如何快速地写出格雷码

更新历史
201901212:

  1. 首次发布

格雷码(Binary Gray Code)的特点是:

  • 相邻两个码之间,只相差了一个比特

由于这个特性,格雷码在数字电路中使用甚广。不过,令人尴尬的是,格雷码似乎不好记。以4比特的格雷码为例:

十进制数 格雷码
0 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
7 0100
8 1100
9 1101
10 1111
11 1110
12 1010
13 1011
14 1001
15 1000

上表的码值显然不好记。不好记,那就找规律呗。仔细观察,可以发现:

  • 格雷码的bit0,以0、1、1、0为一个周期,循环地变化;
  • 格雷码的bit1,以0、0、1、1、1、1、0、0为一个周期,循环地变化;
  • 格雷码的bit2,以0、0、0、0、1、1、1、1、1、1、1、1、0、0、0、0为一个周期,循环地变化;

即:

十进制数 格雷码
0 0 0 0 0
1 0 0 0 1
2 0 0 1 1
3 0 0 1 0
4 0 1 1 0
5 0 1 1 1
6 0 1 0 1
7 0 1 0 0
8 1 1 0 0
9 1 1 0 1
10 1 1 1 1
11 1 1 1 0
12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0

这个规律可以总结为:

  • 格雷码的bit n (n = 0,1,2,…),以2n2^n2n个0、2n2^n2n个1、2n2^n2n个1、2n2^n2n个0为一个周期,循环地变化。

根据该规律,无论多少比特的格雷码,我们都可以快速地将其写出来,而不需要依靠强大的记忆力。此外,这个规律也可以用于编程序生成格雷码。

经验:如何快速地写出格雷码相关推荐

  1. 【例题】给定一个浮点格式(IEEE 754),有k位指数和n位小数,对于下列数,写出阶码E、尾数M、小数f和值V的公式。另外,请描述其位表示。

    前言: 上次学习汇编语言(清华大学 张悠慧)是在11月26日,内容是IEEE 754(浮点数表示).当时撇下了一道题,等度过了12月(英语六级+本科阶段的最后考试+最后的大作业)再把汇编捡起来.现在正 ...

  2. SEOer在网站优化中,如何快速的写出原创的文章?

    成都SEO:关于行业企业站的原创文章该怎么写呢,相信这是一个令很多企业网站优化的人头痛的问题,尤其是专业行业,比如:橡胶止水带.钢铁.制造.机械等等行业,如果你写一篇行业相关的原创文章,对于普通的se ...

  3. 如何快速的写出原创文章原创内容

    互联网时代,发表原创文章的渠道越来越多,比如个人博客.新闻网站.SNS等. 发表原创文章是一个值得讨论的话题. 首先,要发表一篇原创文章,我们需要考虑文章的内容和受众. 如果您发布的内容是技术新闻或更 ...

  4. 格雷码、二进制码、BCD编码

    格雷码 格雷码(12页).pdf 格雷码(12页).pdf-其它文档类资源-CSDN下载 奇偶校验码(25页).pdf 奇偶校验码(25页).pdf-其它文档类资源-CSDN下载 经验:如何快速地写出 ...

  5. python用什么软件编程1001python用什么软件编程-怎样才能写出 Pythonic 的代码 #P1001#...

    L = [ i*i fori inrange(5) ] forindex, data inenumerate(L, 1):print(index, ':', data) 去除 import 语句和列表 ...

  6. python好学吗1001python好学吗-怎样才能写出 Pythonic 的代码 #P1001#

    L = [ i*i fori inrange(5) ] forindex, data inenumerate(L, 1):print(index, ':', data) 去除 import 语句和列表 ...

  7. python open方法1001python open方法_怎样才能写出 Pythonic 的代码 #P1001#

    L = [ i*i fori inrange(5) ] forindex, data inenumerate(L, 1):print(index, ':', data) 去除 import 语句和列表 ...

  8. python发音1001python发音-怎样才能写出 Pythonic 的代码 #P1001#

    L = [ i*i fori inrange(5) ] forindex, data inenumerate(L, 1):print(index, ':', data) 去除 import 语句和列表 ...

  9. php教程7天速成,练字速成法一周写出一手漂亮的字!【7天练字速成】

    练字速成法有吗?成年人练字速成法到底有没有?目前很多的朋友都希望能够快速的写出一手漂亮的字,目前要步入社会的大学生们.以及已经步入社会中的工作者对于写字的美观比较重视,因为大家都深知能够写出一手好字绝 ...

最新文章

  1. 中国AI专利申请量占全球74%,腾讯、百度、OPPO前五
  2. 图灵奖得主杨立昆:人工智能比你更聪明吗?
  3. align与valign的区别
  4. 《3D打印:正在到来的工业革命(第2版)》——1.6节先驱者们在做什么
  5. 为什么有人会觉得灵魂无处安放
  6. 在Spring Boot中使用 @ConfigurationProperties 注解
  7. MVC3.0+DWZ探索
  8. plsql 无法解析指定的连接标识符_TNS03505:无法解析名称
  9. 英语每日阅读---3、VOA慢速英语(翻译+字幕+讲解):哈佛大学被控歧视亚裔学生
  10. 前端工程师提高工作效率的几个小技巧
  11. SQL安装过程中出现的错误解决
  12. 2019Java面试题
  13. 深入理解DNS(域名系统)
  14. iOS-图文混排方案-2种方案
  15. [转载]如何让上传到新浪博客和相册中的照片更大更清晰_我是亲民_新浪博客
  16. Android向:实现同一局域网内两台手机之间的文件互传
  17. 2021年11月_IEEE Transactions on Geoscience and Remote Sensing_科技前言热点调查表
  18. 金蝶EAS客户端隐藏快捷键
  19. 去培训基础报班学UI设计靠谱吗?
  20. python hadoop wordcount_在Hadoop上用Python实现WordCount

热门文章

  1. 美剧字幕组长讲述她如何练听力的
  2. C++ —— 宏对于简化类接口的奇技淫巧
  3. vue2 + tinymce 包含自定义图片上传及视频、音频上传
  4. AC-DMIS 5.3自动测量平面(自定义触测点、批量测量)
  5. 发现新的恶意 Torii IoT 僵尸网络
  6. 数据库的基本命令 创建数据库 创建表 插入数据
  7. 喜大普奔!GitHub 官方 App 正式版首发!
  8. 关于计算机算法的ppt,中科院计算机算法分析与设计_习题3-4_答案.ppt
  9. 见证一张CAD图如何蜕变成一个高大上的三维地形模型(一)
  10. ABAP 类方法获取长文本内容