在这个简单的 python 程序中,我们需要将格雷码转换为二进制。这是一个基于数字的 python 程序。
为了更好地理解这个例子,我们总是建议您学习下面列出的 Python 编程的基本主题:
- Python 运算符
- Python 模块
- Python 循环
什么是格雷码和二进制码?
这个 python 程序示例用于将格雷码转换为二进制。为了理解这个程序,我们需要知道什么是二进制和格雷码。
二进制码:二进制是一个以 2 为基数的数字码,意思是数字只用 0 和 1 表示。它用于机器语言。例如,1 的二进制代码是 001。
格雷码:格雷码也称为反射二进制码,它只是二进制数的一种排列,就像连续的值只相差 1 位。格雷码 1 的一个例子是 001。
python 中如何将格雷码转换成二进制?
在这个 python 程序中,我们需要将格雷码转换为二进制,这可以通过对数字和小于 1 的数字进行连续xor
运算来实现。再次xor
用那个数字小于 1。为了得到小于 1 的数字,我们使用右移位二进制数,并对数字和右移位数(数字- 1)进行xor
运算。所以我们可以说格雷码可以用(g XOR(g>>1)XOR(g>>2)XOR…XOR(g>>m))转换成二进制。
算法
STEP 1: 使用 python 编程语言中的input
功能,从用户端输入格雷码。
STEP 2: 调用自定义函数将格雷码转换为二进制码,将数字作为参数传递。
第三步:用 python 语言的print
打印用户自定义函数返回的二进制数,
用户自定义函数 graytob(n)
步骤 1: 从主程序接受二进制数。
STEP 2: 使用 python 编程语言中的 int 将二进制数转换为整数。
步骤 3: 将数字存储到另一个变量中。
第四步:开一个while loop
直到数字。
第五步:将数字右移一位得到数字 -1 ,用来和数字xor
。
步骤 6: 现在,用数字和右移的数字进行xor
运算,直到整个 while 循环迭代。
STEP 7: 使用 python 中的 bin 以二进制表示形式返回数字。
Python 源代码
def graytob(n):
n = int(n, 2) # convert to int
mask = n
while mask != 0:
mask >>= 1
n ^= mask
return bin(n)[2:]
g = input('Enter Gray codeword: ')
b = graytob(g)
print('In binary:', b)
输出
Enter Gray codeword: 10
In binary: 11