这是我给出的代码;
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)
任何帮助都是有意义的,而不是
答案 0 :(得分:0)
想象一下,你想要理解数字序列“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的数字。这就是编号系统的工作方式。