我正在尝试理解将二进制转换为十进制的代码中的数学运算。我想知道是否有人可以将其分解,以便我可以看到转换的工作。抱歉,如果这太新了,但我一直在寻找解释几个小时,但找不到一个充分解释它的解释。
我知道转换是十进制*2 + int(digit),但我仍然无法将其分解以了解它是如何转换为十进制的
binary = input('enter a number: ')
decimal = 0
for digit in binary:
decimal= decimal*2 + int(digit)
print(decimal)
最佳答案
这里是小二进制数 10(十进制数为 2)的示例
binary = 10
for digit in binary:
decimal= decimal*2 + int(digit)
for for 循环将从第一位的二进制数中取 1。
digit = 1
第一次迭代。
它将覆盖最初为 0 的小数的值。
decimal = 0*2 + 1 = 1
对于第二次迭代 digit= 0
。
它将再次计算小数的值,如下所示:
decimal = 1*2 + 0 = 2
所以你的十进制数是 2。
关于python-3.x - 理解数学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52437292/