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

分类: 计算机技术
推荐阅读:
C语言交换两个变量 在C语言中交换两个变量,需要创建一个临时变量来存储其中的一个值;例如交换a,b两个值时,需创建一个临时变量保存a的值,再将b值赋予a,最后将临时变量的值赋予b,完成交换过程;
Linux挂载一个临时的RAM分区 在Linux下,你可以将RAM当作文件系统使用,这比在Windows方便的多,使用RAM作为文件系统,其读写速度要比磁盘快得多;一条命令即可实现:挂载一个临时的RAM分区,分配指定大小的RAM空间来作为文件系统。
C语言获取当前系统的CPU核心数量 本文将介绍C语言在Windows系统和Linux系统下获取CPU核心数量的方法;
Golang获取CPU物理核心数 在Go语言中,可使用runtime包中的NumCPU()函数获取CPU的物理核心数;
MIPS处理器的基本特性和体系结构 MIPS处理器的基本特性和体系结构包括以下方面:
System has not been booted with systemd as init system (PID 1). Can't operate.解决方法 在WSL(Windows Subsystem for Linux,适用于Linux的Windows子系统)下通过systemctl命令启动某些服务将造成System has not been booted with systemd as init system (PID 1). Can't operate.这样的错误;