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

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


咨詢(xún)
建站咨詢(xún)
