我正在使用bitarray编写程序 例如:
bytePerInt = sys.getsizeof(1)
class BitMap(object):
def __init__(self,bits):
self.bitsPerInt = 8*bytePerInt
size = bits/self.bitsPerInt+1
self.bitarray = [0]*size
#set the bit of pos as 1
def setBit(self,pos):
index = pos/self.bitsPerInt
shift = pos%self.bitsPerInt
operator = self.bitarray[index]
mask = 1<<shift
operator|=mask
self.bitarray[index] = operator
我想通过添加代替%来获得模数,例如num&amp; 31而不是num%32。 但是,我的计算机中的bytePerInt是24,bitsPerInt是24 * 8 = 192,这不是2的幂数,因此,我无法和191获得模数,所以我能做什么?
答案 0 :(得分:1)
和其他人一样,我不确定and the essential element in the array is Int
的含义,但是如果要创建一些布尔值(1和0),请使用bitarray。