Python二進制轉十進制算法、十進轉二進制算法


二進制數轉換成十進制數:二進制數從右向左每位數乘以2的次方(從0開始,從右向左依次+1),然后相加求和即可

如:0101轉成十進制為:1*20+0*21+1*22+0*23 =1+0+4+0=5

算法實現: 

#coding=utf-8
b=raw_input("請輸入一個二進制數:".decode("utf-8").encode("gbk"))
sum=0
for i in range(len(b)):
    sum+=int(b[len(b)-1-i])*pow(2,i)
print u"轉換成十進制數是:",sum

 -------------------------------------------

十進制數轉換成二進制數:十進制數除2取余,商繼續除2取余,直到商為0,所有余數逆順即可

如:12轉換成二進制是:1100

12/2=6  ------ 0    第4位
6/2=3 ------    0    第3位
3/2=1 ------    1    第2位
1/2=0 ------    1    第1位

算法實現:

#coding=utf-8
n=int(raw_input(u"請輸入一個正整數:".encode("gbk")))
res=[]
res.append(str(n%2))
while n/2!=0:
    n=n/2
    res.append(str(n%2))
res.reverse()
print u"轉化為二進制是:","".join(res)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM