python-3.x - 为什么在 python 中使用 int() 将二进制转换为整数时,当给定 2 作为基本参数时会出现错误

标签 python-3.x binary integer typeerror

我尝试了以下代码,

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/

相关文章:

python - 如何确保 concurrent.futures 迭代器中每个 Future 的超时?

java - 使用递归 Java 将十进制转换为二进制

javascript - 从 JavaScript 中的字符串中提取随机数

c++ - 我的代码无法将输入验证为整数

c# - 将 2 个字节转换为数字

java - 关于Integer.toString(char)的返回值

python - 在 flask 中打印多张图像(每行)

python - 名词短语合并后如何获得句子的正确 pos 标签?

python-3.x - 是否可以使用 C++Builder 和 CMake 创建 Python 模块?

c++ - 需要将字符串更改为二进制,然后再更改为 ASCII