public member function
<bitset>
bitset<N>& flip ( );
bitset<N>& flip ( size_t pos );
Flip bits
The version with no parameters flips all the bits in the
bitset, i.e. changes all 0s for 1s and all 1s for 0s.
The parameterized version, flips only the bit at position
pos.
The unary
operator~ performs the same operation as
flip().
Parameters
- pos
- Order position of the bit whose value is flipped.
Order positions are counted from the rightmost bit, which is order position 0.
size_t is an unsigned integral type.
Return value
*this
If
pos is not a valid bit position,
out_of_range is thrown.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
// bitset::flip
#include <iostream>
#include <string>
#include <bitset>
using namespace std;
int main ()
{
bitset<4> mybits (string("0001"));
cout << mybits.flip(2) << endl; // 0101
cout << mybits.flip() << endl; // 1010
return 0;
}
|
See also
- bitset::set
- Set bits (public member function)
- bitset::reset
- Reset bits (public member function)