在這個簡單的 python 程序中,我們需要將二進位代碼轉換成 geay 代碼。這是一個基於數字的 python 程序。
為了更好地理解這個例子,我們總是建議您學習下面列出的 Python 編程的基本主題:
- Python 運算符
- Python 模塊
- Python 循環
什麼是格雷碼和二進位數?
為了解決這個 python 程序將二進位數轉換成格雷碼的問題,我們需要了解一點二進位數和格雷碼。
二進位數幾乎是我們所有人都熟悉的,因為它是以為基數 2 的數字系統。我們的十進位是以 10 為基數。基數 2 意味著只有 0 和 1 來代表一個數字。例如,考慮一個十進位數字 2,它有二進位形式 010。機器語言中使用二進位數系統,這意味著任何編程語言在執行之前都會轉換為二進位。
python 中二進位數如何轉換成格雷碼?
對格雷碼最好的解釋是它是一個二進位數的反映。這是一種數字排序,就像兩個連續的數字在二進位中只相差一位。它被稱為反射二進位。格雷碼用於有線電視、數字信號傳輸等。
這裡我們需要將二進位轉換為格雷碼,所以背後的邏輯是我們在二進位數字和(數字- 1)之間進行XOR
運算,其中數字-1 是通過向右移動數字的位來計算的。其中,如果二進位格雷碼中的數字為零,則該數字將大於零。
演算法
步驟 1: 使用 python 編程中的input
方法接受用戶的二進位數。
STEP 2: 調用將二進位轉換為格雷碼的函數。
STEP 3: 使用 python 編程語言中的 Print 語句,將函數返回值列印為格雷碼。
用戶定義的函數 binarytog(n)
步驟 1: 接收二進位數作為參數,並使用 int 將其轉換為整數,並使用 2 的精度。
第二步:用二進位數字和數字-1 做XOR
運算,其中數字-1 是使用 python 中的右移位運算符對數字的位進行右移位計算的。
步驟 3: 使用 bin 返回值,並使用切片操作刪除 0b 前綴,該前綴在二進位表示的 bin 方法中。
Python 源代碼
def binarytog(n):
n = int(n, 2) # convert to int
n ^= (n >> 1)
# bin(n) returns n's binary representation with a '0b' prefixed
# the slice operation is to remove the prefix
return bin(n)[2:]
g = input('Enter binary number: ')
b = binarytog(g)
print('Gray codeword:', b)
輸出
Enter binary number: 110
Gray codeword: 101
原創文章,作者:DPU79,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129781.html