在线文档教程
C++
应用 | Utilities

std::bitset::operators

:位集::操作符<<,<<=>>>=

bitset 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)

向左执行二进制移位和向右执行二进制移位。零移入。

1-2%29执行二进制左移。%282%29版本具有破坏性,即执行到当前对象的转换。

3-4%29执行二进制移位右.。%284%29版本具有破坏性,即执行到当前对象的转换。

参数

pos-number of positions to shift the bits

返回值

包含移位位的1,3%29新位集对象

2,4%29*this

例外

(none)(until C++11)
noexcept specification: noexcept(since C++11)

二次

#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

二次

另见

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

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/实用程序/位集/操作符[医]ltlttgt