二进制到十进制转换器向后工作

时间:2014-06-10 17:08:56

标签: python binary decimal converter

我已经创建了一个将8位二进制转换为十进制的基本程序,但是当我运行程序时,它会向后工作,例如如果我输入二进制数'00000001',程序将返回128。这是我的代码:

binaryvalue=input("Please enter your 8 bit binary number.")

binaryvalue=str(binaryvalue)

if len(binaryvalue) <= 8:

    print("Your number is accurate.")
    value_index=0
    total=0
    print("Your number is valid.")
    for i in range(len(binaryvalue)):
        total = total + (int(binaryvalue[value_index])) * 1 * (2**(value_index))
        value_index = value_index+1
    print("Your decimal number is: "+str(total))

1 个答案:

答案 0 :(得分:1)

所以,正如jonrsharpe和Moe所提到的

反转输入:

binaryvalue = str(binaryvalue)[::-1]

或者,您可以将偏移量放在您的力量中:

total = total + (int(binaryvalue[value_index])) * 1 * (2**(len(binaryvalue)-value_index-1))

两者基本上都在做同样的事情。