std::bitset<N>::operator<<,<<=,>>,>>=
提供: cppreference.com
(1) | ||
bitset<N> operator<<( std::size_t pos ) const; |
(C++11未満) | |
bitset<N> operator<<( std::size_t pos ) const noexcept; |
(C++11以上) | |
(2) | ||
bitset<N>& operator<<=( std::size_t pos ); |
(C++11未満) | |
bitset<N>& operator<<=( std::size_t pos ) noexcept; |
(C++11以上) | |
(3) | ||
bitset<N> operator>>( std::size_t pos ) const; |
(C++11未満) | |
bitset<N> operator>>( std::size_t pos ) const noexcept; |
(C++11以上) | |
(4) | ||
bitset<N>& operator>>=( std::size_t pos ); |
(C++11未満) | |
bitset<N>& operator>>=( std::size_t pos ) noexcept; |
(C++11以上) | |
バイナリ左シフトおよびバイナリ右シフトを行います。 ゼロがシフトインされます。
1-2) バイナリ左シフトを行います。 (2) のバージョンは破壊的です。 つまり、現在のオブジェクトにシフトを行います。
3-4) バイナリ右シフトを行います。 (4) のバージョンは破壊的です。 つまり、現在のオブジェクトにシフトを行います。
目次 |
[編集] 引数
pos | - | ビットをシフトする位置の数 |
[編集] 戻り値
1,3) シフトしたビットを保持する新しいビットセットオブジェクト。
2,4) *this。
[編集] 例
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; } }
出力:
initial value: 01110010 00111001 00000111 00000011 00000001
[編集] 関連項目
バイナリ論理積、論理和、排他的論理和、論理否定を行います (パブリックメンバ関数) |