Skip to main content

A pure-Python memory-efficient packed representation for bit arrays

Project description

This class presents a pure-Python memory efficient packed representation for bit arrays.

Version 1.4 supports slice assignment and a reset method that allows a previously constructed bit vector to be reinitialized to all 0’s or all 1’s. The code was also cleaned up with pychecker for this version.

In version 1.3.2, fixed a potentially misleading documentation issue for the Windows users of the BitVector class. If you are writing an internally generated BitVector to a disk file, you must open the file in the binary mode. If you don’t, the bit patterns that correspond to line breaks will be misinterpreted. On a Windows machine in the text mode, the bit pattern 000001010 (’\n’) will be written out to the disk as 0000110100001010 (’\r\n’).

The class supports the following operators/methods:










__eq__, __ne__, __lt__, __le__, __gt__, __ge__

‘|’ for bitwise or

‘&’ for bitwise and

‘^’ for bitwise xor

‘~’ for bitwise inversion

‘<<’ for circular shift to the left

‘>>’ for circular shift to the right

‘+’ for concatenation

intValue(), __int__ for returning the integer value










slice assignment


Project details

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page