python-3.x - 理解数学

标签 python-3.x

我正在尝试理解将二进制转换为十进制的代码中的数学运算。我想知道是否有人可以将其分解,以便我可以看到转换的工作。抱歉,如果这太新了,但我一直在寻找解释几个小时,但找不到一个充分解释它的解释。

我知道转换是十进制*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。

您可以引用 binary to decimal conversion

关于python-3.x - 理解数学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52437292/

相关文章:

python - 如何使用 f""string 而不是 .format() 打印二进制数?

python - Django mysqlclient 后端在 Windows 中产生 django.db.utils.OperationalError : (2059, <NULL>)

python - 如果在任何其他点的特定阈值内,则从列表中删除点

python - 如何让 virtualenv 在 mac 上的 python3 上工作

python-3.x - Hyperopt:重新运行时的最佳参数更改

python-2.7 - 无法从 Explorer [2013] 通过 IDLE 运行 Python - IDLE 的子进程未建立连接

django - 使用post请求登录/检查Django网站数据库中的用户名和密码

python - 读取特定输入的文件 python

python - Nan 不会在 Python 中退出

方法中的 Python 局部变量