たとえば、ビット配列を使用してプログラムを作成しています。
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%32の代わりにnum&31のように、%の代わりにaddを使用してモジュラスを取得したいと思います。しかし、私のコンピューターではbytePerIntは24であり、bitsPerIntは24 * 8 = 192であり、これは2の累乗ではありません。その結果、191を使用してモジュラスを取得できないので、何ができるでしょうか。