#881. [初赛内容]格雷码

[初赛内容]格雷码

No testdata at current.

No submission language available for this problem.

https://www.dotcpp.com/course/1033

https://blog.csdn.net/chenlong_cxy/article/details/124561464

格雷码有什么作用

格雷码(Gray code)是由贝尔实验室的 Frank Gray 在1940年提出,用于在 PCM(脉冲编码调变)方法传送讯号时防止出错,并于 1953 年三月十七日取得美国专利。格雷码是一个数列集合,相邻两数间只有一个位元改变,为无权数码,且格雷码的顺序不是唯一的

格雷码能避免讯号传送错误的原理:

传统的二进制系统例如数字 3 的表示法为 011,要切换为邻近的数字 4,也就是 100 时,装置中的三个位元都得要转换,因此于未完全转换的过程时装置会经历短暂的 010, 001, 101, 110, 111 等其中数种状态,也就是代表着 2、1、5、6、7,因此此种数字编码方法于邻近数字转换时有比较大的误差可能范围。格雷码的发明即是用来将误差之可能性缩减至最小,编码的方式定义为每个邻近数字都只相差一个位元,因此也称为最小差异码,可以使装置做数字步进时只更动最少的位元数以提高稳定性。