格雷码(Gray Code)也叫反码排列(Reflected Binary Code),是一种二进制数码。格雷码的定义及构造方法如下:
对于n位二进制码,其格雷码为其自己与高一位的二进制码的异或值。
例如三位二进制码的格雷码如下图:
格雷码在数字信号处理等领域有着广泛的用途,可以避免传输中的误差及提高传输效率,同时也被用于编码器进行角度计量等。除此之外,格雷码还被应用于Karnaugh 图的最小项展开、群密码学中的阿达马密码系统、以及在反应堆、机床等控制系统中的位置、方向、速度等的测量,具有很高的实用性。