在這個簡單的 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
原創文章,作者:H1YBU,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/129589.html