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

分类: 计算机技术
推荐阅读:
将PySide6升级到最新版本 由于PySide6还在不断完善阶段,每隔一段时间我们就需要将PySide6升级到最新版本以使用更完善的功能;不论在Windows、Linux、还是macOS系统下,都只需要运行以下命令即可完成升级:
Linux将上一条执行的命令写入文件 在Linux下,你可以将刚刚输入的最后一条命令写入文件里,而且只需要一条命令,免去了创建文件,重复输入的过程;
Windows10禁用系统更新 Windows10禁用系统自动更新方法如下:
如何将Rust更新到最新版 Rust每隔一段时间就会有新的版本,若要将已安装的Rust更新到最新版,并不用先卸载旧的版本,只需要使用 rustup 工具;
VirtualBox菜单隐藏了怎么打开? 我们使用VirtualBox运行虚拟机后,可以通过视图菜单改变虚拟机的显示方式,其中包括全屏模式,无缝模式,自动缩放模式,使用了这些模式后,可能导致上方的菜单消失;
Golang中的map数据类型 map 是一堆键值对的未排序集合;在Go语言中,使用map不需要引入库,它是一种内置的数据类型。