class BitSet:
def __init__(self, size):
self.size = size
self.bits = [False] * size
def set(self, index):
if 0 <= index < self.size:
self.bits[index] = True
def clear(self, index):
if 0 <= index < self.size:
self.bits[index] = False
def get(self, index):
if 0 <= index < self.size:
return self.bits[index]
return False
def __str__(self):
return ''.join(['1' if bit else '0' for bit in reversed(self.bits)])
bitset = BitSet(16)
bitset.set(3)
bitset.set(5)
print(bitset)
bitset.clear(3)
print(bitset)
'''
run:
0000000000101000
0000000000100000
'''