How to create a bitset in Python

1 Answer

0 votes
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

'''

 



answered May 7 by avibootz

Related questions

1 answer 16 views
1 answer 14 views
1 answer 13 views
2 answers 19 views
2 answers 14 views
...