# std::bitset::operator<<,<<=,>>,>>=

From cppreference.com
< cpp‎ | utility‎ | bitset

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

operator&=operator|=operator^=operator~ | performs binary AND, OR, XOR and NOT (public member function)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/utility/bitset/operator_ltltgtgt&oldid=91800"
Category:

- unconditionally noexcept

Hidden categories:

- Pages with unreviewed unconditional noexcept template
- Pages with unreviewed noexcept template