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

经验:如何快速地写出格雷码经验:快速写出格雷码的技巧更新历史201901212:首次发布格雷码(BinaryGrayCode)的特点是:相邻两个码之间,只相差了一个比特由于这个特性,格雷码在数字电路中使用甚广。不过,令人尴尬的是,格雷码似乎不好记。以4比特的格雷码为例:十进制数格雷码00000100012001130010401105…

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

更新历史
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,以0110为一个周期,循环地变化;
  • 格雷码的bit1,以00111100为一个周期,循环地变化;
  • 格雷码的bit2,以0000111111110000为一个周期,循环地变化;

即:

十进制数 格雷码
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,…),以 2 n 2^n 2n0 2 n 2^n 2n1 2 n 2^n 2n1 2 n 2^n 2n0为一个周期,循环地变化。

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

今天的文章经验:如何快速地写出格雷码分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/4973.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注