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