在這個簡單的 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-tw/n/129589.html