📄 e363. performing bitwise operations on a bit vector.txt
字号:
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 e129 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
Related Examples
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -