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

二进制数转换成十进制数

由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。 例1105 把二进制数110.11转换成十进制数。

十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。

以上内容参考:百度百科-十进制

温馨提示:答案为网友推荐,仅供参考
相似回答