新聞中心
創(chuàng)新互聯(lián)Python教程:

成都創(chuàng)新互聯(lián)從2013年成立,先為安陽等服務(wù)建站,安陽等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為安陽企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
在這個簡單的 python 程序中,我們需要將格雷碼轉(zhuǎn)換為二進(jìn)制。這是一個基于數(shù)字的 python 程序。
為了更好地理解這個例子,我們總是建議您學(xué)習(xí)下面列出的 Python 編程的基本主題:
- Python 運算符
- Python 模塊
- Python 循環(huán)
什么是格雷碼和二進(jìn)制碼?
這個 python 程序示例用于將格雷碼轉(zhuǎn)換為二進(jìn)制。為了理解這個程序,我們需要知道什么是二進(jìn)制和格雷碼。
二進(jìn)制碼:二進(jìn)制是一個以 2 為基數(shù)的數(shù)字碼,意思是數(shù)字只用 0 和 1 表示。它用于機器語言。例如,1 的二進(jìn)制代碼是 001。
格雷碼:格雷碼也稱為反射二進(jìn)制碼,它只是二進(jìn)制數(shù)的一種排列,就像連續(xù)的值只相差 1 位。格雷碼 1 的一個例子是 001。
python 中如何將格雷碼轉(zhuǎn)換成二進(jìn)制?
在這個 python 程序中,我們需要將格雷碼轉(zhuǎn)換為二進(jìn)制,這可以通過對數(shù)字和小于 1 的數(shù)字進(jìn)行連續(xù)xor運算來實現(xiàn)。再次xor用那個數(shù)字小于 1。為了得到小于 1 的數(shù)字,我們使用右移位二進(jìn)制數(shù),并對數(shù)字和右移位數(shù)(數(shù)字- 1)進(jìn)行xor運算。所以我們可以說格雷碼可以用(g XOR(g>>1)XOR(g>>2)XOR…XOR(g>>m))轉(zhuǎn)換成二進(jìn)制。
算法
STEP 1: 使用 python 編程語言中的input功能,從用戶端輸入格雷碼。
STEP 2: 調(diào)用自定義函數(shù)將格雷碼轉(zhuǎn)換為二進(jìn)制碼,將數(shù)字作為參數(shù)傳遞。
第三步:用 python 語言的print打印用戶自定義函數(shù)返回的二進(jìn)制數(shù),
用戶自定義函數(shù) graytob(n)
步驟 1: 從主程序接受二進(jìn)制數(shù)。
STEP 2: 使用 python 編程語言中的 int 將二進(jìn)制數(shù)轉(zhuǎn)換為整數(shù)。
步驟 3: 將數(shù)字存儲到另一個變量中。
第四步:開一個while loop直到數(shù)字。
第五步:將數(shù)字右移一位得到數(shù)字 -1 ,用來和數(shù)字xor。
步驟 6: 現(xiàn)在,用數(shù)字和右移的數(shù)字進(jìn)行xor運算,直到整個 while 循環(huán)迭代。
STEP 7: 使用 python 中的 bin 以二進(jìn)制表示形式返回數(shù)字。
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 文章名稱:Python程序:將格雷碼轉(zhuǎn)換為二進(jìn)制
分享地址:http://fisionsoft.com.cn/article/coiophh.html


咨詢
建站咨詢
