Binary 有人能帮我解释一下这个代码吗

Binary 有人能帮我解释一下这个代码吗,binary,python-2.6,Binary,Python 2.6,这是给我的代码 d = 0 binary = raw_input('Please enter a number between 0 - 11111111 in binary: ') for digit in binary: d = d*2 + int(digit) print d 下面这部分我真的不明白: for digit in binary: d = d*2 + int(digit) 欢迎提供任何帮助,谢谢假设您想了解数字“6”

这是给我的代码

d = 0

binary = raw_input('Please enter a number between 0 - 11111111 in binary: ')

for digit in binary:
     d = d*2 + int(digit)   
     print d
下面这部分我真的不明白:

     for digit in binary:
          d = d*2 + int(digit)

欢迎提供任何帮助,谢谢

假设您想了解数字“6”、“9”、“2”的顺序是什么意思。您可以遵循以下逻辑:

  • 从0开始

  • 将你正在使用的数字乘以10,然后将你正在使用的数字相加

  • 转到下一个数字

  • 如果没有更多的数字,请停止。您所在的数字是数字序列编码的数字

  • 转至步骤2

  • 那么,让我们试试“6”,“9”,“2”

    我们从0开始

    10*0+6->6
    10*6+9->69
    10*69+2->692
    没有下一个数字,所以我们停下来

    所以从“6”,“9”,“2”,我们得到了数字692,这是正确的


    代码使用2,因为它处理的是以2为基数的数字,而不是以10为基数的数字。这就是编号系统的工作原理。

    该函数正在从二进制数转换为二元(“正常”)数。