Syntax:
#include <bitset> !=, ==, &=, ^=, |=, ~, <<=, >>=, [], =
These operators all work with bitsets. They can be described as follows:
| Operator | Description | 
|---|---|
| != | returns true if the two bitsets are not equal | 
| == | returns true if the two bitsets are equal | 
| &= | performs the AND operation on the two bitsets | 
| & | performs the AND operation on the two bitsets | 
| ^= | performs the XOR operation on the two bitsets | 
| ^ | performs the XOR operation on the two bitsets | 
| |= | performs the OR operation on the two bitsets | 
| | | performs the OR operation on the two bitsets | 
| <<= | shifts the bitset to the left | 
| << | creates a copy of the bitset shifted to the left | 
| >>= | shifts the bitset to the right | 
| >> | creates a copy of the bitset shifted to the right | 
| ~ | creates a reversed copy of the bitset (same as calling flip() on a copy) | 
| b[x] | returns a reference to the xth bit in the bitset | 
| = | take an unsigned long and put the corresponding bits in the bitset | 
For example, the following code creates a bitset and shifts it to the left 4 places:
// create a bitset out of a number bitset<8> bs2( 131ul ); // you can do bitset<8> bs2; bs2 = 131ul; cout << "bs2 is " << bs2 << endl; // shift the bitset to the left by 4 digits bs2 <<= 4; cout << "now bs2 is " << bs2 << endl;
When the above code is run, it displays:
bs2 is 10000011 now bs2 is 00110000