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

創(chuàng)新互聯(lián)長期為數(shù)千家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為隆回企業(yè)提供專業(yè)的網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè),隆回網(wǎng)站改版等技術(shù)服務(wù)。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
在這個簡單的 python 程序中,我們需要將二進制代碼轉(zhuǎn)換成 geay 代碼。這是一個基于數(shù)字的 python 程序。
為了更好地理解這個例子,我們總是建議您學(xué)習(xí)下面列出的 Python 編程的基本主題:
- Python 運算符
- Python 模塊
- Python 循環(huán)
什么是格雷碼和二進制數(shù)?
為了解決這個 python 程序?qū)⒍M制數(shù)轉(zhuǎn)換成格雷碼的問題,我們需要了解一點二進制數(shù)和格雷碼。
二進制數(shù)幾乎是我們所有人都熟悉的,因為它是以為基數(shù) 2 的數(shù)字系統(tǒng)。我們的十進制是以 10 為基數(shù)?;鶖?shù) 2 意味著只有 0 和 1 來代表一個數(shù)字。例如,考慮一個十進制數(shù)字 2,它有二進制形式 010。機器語言中使用二進制數(shù)系統(tǒng),這意味著任何編程語言在執(zhí)行之前都會轉(zhuǎn)換為二進制。
python 中二進制數(shù)如何轉(zhuǎn)換成格雷碼?
對格雷碼最好的解釋是它是一個二進制數(shù)的反映。這是一種數(shù)字排序,就像兩個連續(xù)的數(shù)字在二進制中只相差一位。它被稱為反射二進制。格雷碼用于有線電視、數(shù)字信號傳輸?shù)取?/p>
這里我們需要將二進制轉(zhuǎn)換為格雷碼,所以背后的邏輯是我們在二進制數(shù)字和(數(shù)字- 1)之間進行XOR運算,其中數(shù)字-1 是通過向右移動數(shù)字的位來計算的。其中,如果二進制格雷碼中的數(shù)字為零,則該數(shù)字將大于零。
算法
步驟 1: 使用 python 編程中的input方法接受用戶的二進制數(shù)。
STEP 2: 調(diào)用將二進制轉(zhuǎn)換為格雷碼的函數(shù)。
STEP 3: 使用 python 編程語言中的 Print 語句,將函數(shù)返回值打印為格雷碼。
用戶定義的函數(shù) binarytog(n)
步驟 1: 接收二進制數(shù)作為參數(shù),并使用 int 將其轉(zhuǎn)換為整數(shù),并使用 2 的精度。
第二步:用二進制數(shù)字和數(shù)字-1 做XOR運算,其中數(shù)字-1 是使用 python 中的右移位運算符對數(shù)字的位進行右移位計算的。
步驟 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 當前題目:Python程序:將二進制數(shù)轉(zhuǎn)換為格雷碼
網(wǎng)頁路徑:http://www.dlmjj.cn/article/ccogiie.html


咨詢
建站咨詢
