我尝试了以下代码,
a=0b1101
b=int(a,2)
print(b)
它给了我一个错误。
TypeError: int() can't convert non-string with explicit base
但是当我不提及基础时它就工作正常,
a=0b1101
b=int(a)
print(b)
最佳答案
开头的零在Python中具有特殊含义。例如。 0x 表示十六进制数。 在使用 int() 函数时,当二进制数以整数形式存储时,我们提供第二个参数。例如,
b=int(a,2)
但是当将实际的二进制数转换为整数时,我们不提供第二个参数。例如,
b=int(a)
关于python-3.x - 为什么在 python 中使用 int() 将二进制转换为整数时,当给定 2 作为基本参数时会出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67545520/