Python实现将格雷码转换为二进制码

在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code);

本文将使用Python实现将格雷码转换为二进制码;

实现如下:

def gray2binary(n):
    n = int(n, 2)
    mask = n
    while mask:
        mask >>= 1
        n ^= mask
    return bin(n)[2:].zfill(4)

gray = input('请输入格雷码: ')
print('二进制码:', gray2binary(gray))

输出:

请输入格雷码: 0111
二进制码: 0101

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/gray-to-binary.html

分类: 计算机技术
推荐阅读:
Golang获取文件的大小 在Go语言中,你可以使用os.Stat()来获取文件信息,其中就包括文件的大小;
Python将数转换为带有千位分隔符的形式 在这篇文章中,我们使用Python将一个数转换为带有千位分隔符的形式;
Rust is_x86_feature_detected宏的用法和示例 在Rust中,is_x86_feature_detected宏用于在运行时检查CPU是否支持特定的指令集;例如,你可以用它来检查CPU是否支持SSE、AVX等指令集;
关闭Shell时保持子进程继续运行 在Linux系统里,当你关闭 shell 或者终端时,没有经过 nohup 或 setid 等命令后台执行的程序也会随着 shell 的关闭而结束;如果你已经提交了命令,也没有使用 nohup 或 setid 进行处理,你可以用这一条命令实现退出shell或终端而保持进程不被关闭:
Python type()函数 type() 函数用于获取对象的类型,或者动态地创建一个新的类。其语法如下:
python @staticmethod装饰器 @staticmethod 是一个装饰器,用于声明一个静态方法。静态方法是一个属于类而不是属于实例的方法,可以直接通过类名调用,而不需要创建实例。