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