我基本完成一切.. 我無法找到一個方法來乘以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)' –