是否有现有的Python库直接支持所有整数的二进制按位运算?
Python 有 二元按位运算“与”(a & b)、“异或”(a ^ b)、“或”(a | b)和 一元“非”(~ a)。 (a & ~b)、(a | ~b)、(a ^ ~b)、~(a & b)、~(a | b) 等公式涉及两个或多个运算,效率较低。我正在寻找一个现有的库,每个库都有一个操作, (a & ~b) 与 (a & b) 一样快,依此类推。
与其他运算符相比,Python 的内置按位运算符非常高效。你可以像这样使用 cretae 函数
def and_not(a, b):
return a & ~b
def or_not(a, b):
return a | ~b
def xor_not(a, b):
return a ^ ~b
def not_and(a, b):
return ~(a & b)
def not_or(a, b):
return ~(a | b)
如果你想探索库,请尝试 numpy
import numpy as np
def and_not(a, b):
return np.bitwise_and(a, np.bitwise_not(b))
def or_not(a, b):
return np.bitwise_or(a, np.bitwise_not(b))
...