我基本完成一切.. 我无法找到一个方法来乘以2^0的每一个整数,2^1 ...等等 这里是我的代码如何使用递归方式将二进制转换为十进制?
def BinaryToDecimal(binaryString):
if len(binaryString) == 0:
return 0
else:
return int(binaryString[-1:])*(2**(4-len(binaryString))) + BinaryToDecimal(binaryString[:len(binaryString)-1])
如果我有输入'1000',我返回字符串的最后一个数字,并通过消除最后一个数字来执行递归,因此,'1000' - >'100' - >'10'等等
这里的问题是,我只是无法找到一种方法来乘以它的相应幂的最后一位数字。当二进制串的长度是4,3,2,1时,如何得到0,1,2,3的任何想法?
顺便说一句,你可以只'返回INT(binaryString,2)' –