【发布时间】:2017-05-23 15:11:32
【问题描述】:
我需要将二进制转换为十进制,我在这里找到了这段代码,它的工作完美:
binary_Op1 = raw_input('enter a number: ')
decimal = 0
for digit in binary_Op1:
decimal = decimal*2 + int(digit)
print decimal
问题是,我很难理解其背后的逻辑...... 为什么我们将十进制变量乘以 2?为什么十进制变量设置为= 0? 为什么我们每次都是数字?等等(:
谢谢。
【问题讨论】:
-
如果输入是十进制的(即以 10 为底),则乘以 10。这有帮助吗? ...而且所有这些都可以做得更优雅!
标签: python python-2.7 python-3.x binary