标签: python bit-manipulation bitwise-operators bit bitwise-and
我有一个长度为128的字符串,并希望对其执行按位AND。为此,我想先将位串转换为整数。
int("00000010000....0000000",128)
但是,python会出错:
ValueError: int() base must be >= 2 and <= 36
我的问题是如何在Python中将长位字符串转换为整数?或者有没有其他方法我可以做Bitwise AND而不将位串转换为整数?
答案 0 :(得分:4)
int()需要字面和基础。你要做的是转换基数为2的文字。文字可以是任意长度:
int()
int("00000010000....0000000", 2)
int()的python文档可以在这里找到:Python2 Python3
答案 1 :(得分:0)
如果你想创建你的功能,请使用functool.partial
来自functool import partial 的 base2int = partial(int(),2)
base2int = partial(int(),2)