Performing Bitwise Operations on a Bit Vector

The BitSet class implements a bit-vector of an arbitrary size. It automatically grows dynamically. This example demonstrates how to create and use a BitSet.

The BigInteger class also support bitwise operations (see Performing Bitwise Operations with BigInteger). However, a BigInteger object is immutable where a BitSet is mutable.

// Create the bitset BitSet bits = new BitSet(); // Set a bit on bits.set(2); // 100 = decimal 4 // Retrieving the value of a bit boolean b = bits.get(0); // false b = bits.get(2); // true // Clear a bit bits.clear(1); // Setting a range of bits BitSet bits2 = new BitSet(); bits2.set(1, 4); // 1110 // And'ing two bitsets bits.and(bits2); // 0100 // Xor'ing two bitsets bits.xor(bits2); // 1010 // Flip all bits in the bitset bits.flip(0, bits.length()); // 0101 // Andnot'ing two bitsets bits.andNot(bits2); // 0001 // Or'ing two bitsets bits.or(bits2); // 1111

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.