python - 如何在 python 中将长二进制字符串转换为整数? (基础 > 36)

标签 python bit-manipulation bitwise-operators bit bitwise-and

我有一个长度为 128 的位串,想对其执行按位与运算。为此,我想首先将位串转换为整数。

int("00000010000....0000000",128)

但是python报错:

ValueError: int() base must be >= 2 and <= 36

我的问题是如何在 Python 中将长位字符串转换为整数?或者有没有其他方法可以在不将位字符串转换为整数的情况下执行按位与运算?

最佳答案

int() 采用文字和基数。您要做的是转换以 2 为基数的文字。文字可以是任意长度:

int("00000010000....0000000", 2)

int() 的 python 文档可以在这里找到:Python2 Python3

关于python - 如何在 python 中将长二进制字符串转换为整数? (基础 > 36),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33793975/

相关文章:

c++ - 我想根据任意掩码打包这些位

python - 如何正确绘制情节?

python - 我可以在 Python 3 上提供 lxml.etree.parse 的 URL 吗?

c - 使用长的位列表

javascript - 为什么 JavaScript 负数不总是真或假?

java - xor如何在两个数组中给出不同的数字‽

Python - 如何正确设置类的层次结构?

python - 如何调试使 python 崩溃的 python 脚本

javascript - Python/Javascript -- 整数按位异或问题

c - 优化 "i = b ? (i | mask) : (i & ~mask)"