std::bitset<N>::operator<<,<<=,>>,>>=
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
#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) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/utility/bitset/operator_ltltgtgt