std::bitset::operator<<,<<=,>>,>>=
From cppreference.com
bitset<N> operator<<( std::size_t pos ) const; |
(1) | |
bitset<N>& operator<<=( std::size_t pos ); |
(2) | |
bitset<N> operator>>( std::size_t pos ) const; |
(3) | |
bitset<N>& operator>>=( std::size_t pos ); |
(4) | |
Performs binary shift left and binary shift right. Zeroes are shifted in.
1-2) Performs binary shift left. The (2) version is destructive, i.e. performs the shift to the current object.
3-4) Performs binary shift right. The (4) version is destructive, i.e. performs the shift to the current object.
Parameters
pos | - | number of positions to shift the bits |
Return value
1,3) new bitset object containing the shifted bits
2,4) *this
Exceptions
(none) | (until C++11) |
noexcept specification: noexcept |
(since C++11) |
Example
Run this code
#include <iostream> #include <bitset> int main() { std::bitset<8> b("01110010"); std::cout << "initial value: " << b << '\n'; while (b.any()) { while (!b.test(0)) { b >>= 1; } std::cout << b << '\n'; b >>= 1; } }
Output:
initial value: 01110010 00111001 00000111 00000011 00000001
See also
performs binary AND, OR, XOR and NOT (public member function) |