2013-07-30 36 views
0

這是一個十進制到二進制轉換器。我需要幫助解釋背後的數學,因爲我沒有頭緒如何解釋所有班次等如何描述此功能背後的數學

number = int(raw_input("Enter the Number:")) 
binary = '' 
while number > 0: 
    binary = str(number % 2) + binary 
    number >>=1 
print(binary)  

回答

0

循環建立起它代表一個二進制值的字符串。

str(number%2)找到數字的最低位(0或1)。

二進制= STR(編號%2)+二進制現在增加了比特串二進制

號>> = 1去除低位的左端,我們已處理完畢它

而數> 0繼續進行,直到數爲0

+0

謝謝,這確實有幫助。 – user2633811

0

假設你正在轉換56爲二進制。

當由1位,56(111000)右移變爲28(011100)

注:的向右移位運算導致在第一個操作數的位模式要向右移位由指定的位的數目第二個操作數。通過變速操作空出的位是零填充的無符號數量

像這樣,可變,被右移1位,直到它大於1,每一次,除以2號的剩餘部分(這將爲0或1總是)被添加到結果變量,二進制

最後,可變二進制將有二進制等同放着清單

+0

乾杯。這真的有幫助。 – user2633811