我正在用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&31而不是num%32。 然而,在我的电脑里,bytePerInt是24,bitsprint是24*8=192,这不是2的幂次,因此,我不能用191求模,所以我能做什么呢?在
像其他人一样,我不知道您所说的
and the essential element in the array is Int
是什么意思,但是如果您要创建布尔(1和0)的位数组,请使用bitarray。在相关问题 更多 >
编程相关推荐