用python寫十進制與二進制之間轉換
阿新 • • 發佈:2018-12-04
進制數 bre == png inf http info 數字 從右到左
很簡單的一段,當練手
def s2e(): e = [0,0,0,0,0,0,0,0] s = int(input("請輸入一個十位數:")) for i in range(0,8,1): e[i] = int(s%2) s=s//2 e.reverse() print("二進制數為:",e) def e2s(): s=[0,0,0,0,0,0,0,0] a=0 s=list(input("請輸入一個二進制數:")) s.reverse() for i in range(0,len(s),1): if int(s[i]) == 1: a+=pow(2,i) print("十進制數是:",a) while 1: choose = int(input("二進制轉十進制請輸入1\n十進制轉二進制請輸入2\n")) if choose==1: e2s() elif choose==2: s2e() else: break
二進制輸出為數組形式
還有待完善
歡迎大家提建議
思路:
二進制轉十進制:
我這裏用的是八位二進制,從右到左,第一位是2的0次方,第二位是2的1次方,以此類推,第8位便是2的7次方,所以只要判斷位數上的數字是1還是0,因為是從右到左,所以先把數組倒過來,這樣數組下標就好算一點,例如00000101(數字小好算點,嘿嘿);倒過來後便是10100000,此時第0位為1,那麽便是2的0次方,第2位是1,便是2的2次方,所有相加,就得到了十進制數
十進制轉二進制:
附上一張百度來的圖
每次除以2求余,再用余數除以2再求余,如此直到最後一個數為1,再如圖,逆序排列,此時的逆序排列的數便是二進制數。
用python寫十進制與二進制之間轉換