std::bitset::flip

bitset<N>& flip();
(1)
bitset<N>& flip( size_t pos );
(2)

Flips bits, i.e. changes true values to false and false values to true. Equivalent to a logical NOT operation on part or all of the bitset.

1) Flips all bits (equivalent to operator~)
2) Flips the bit at the position pos.

Parameters

pos - the position of the bit to flip

Return value

*this.

Exceptions

1)
(none) (until C++11)
noexcept specification:
noexcept
(since C++11)
2) throws std::out_of_range if pos does not correspond to a valid position within the bitset.

Example

#include <iostream>
#include <bitset>
 
int main()
{
    std::bitset<4> b;
 
    std::cout << b << "\n";
    std::cout << b.flip(0) << '\n';
    std::cout << b.flip(2) << '\n';
    std::cout << b.flip() << '\n';
}

Output:

0000
0001
0101
1010

See also

sets bits to true or given value
(public member function)
sets bits to false
(public member function)
performs binary AND, OR, XOR and NOT
(public member function)
doc_CPP
2016-10-11 10:01:36
Comments
Leave a Comment

Please login to continue.