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

std::bitset::operators

:位集::运算符&=,=,^=,~

bitset& operator&=( const bitset& other (1)
bitset<N>& operator|=( const bitset<N>& other (2)
bitset<N>& operator^=( const bitset<N>& other (3)
bitset<N> operator~() const;(4)

执行二进制和,OR,XOR和NOT。

1%29将位设置为二进制结果,并在相应的位对上设置*thisother...

2%29将位设置为二进制或对应的对位的结果。*thisother...

3%29将位设置为对应的位对上的二进制异或值的结果。*thisother...

4%29返回*this所有位都翻转了%28二进制,而不是%29。

注意&=、=和^=只为相同大小的位集定义N...

参数

other-another bitset

返回值

1-3%29*this

4%29bitset<N>(*this).flip()

例外

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

二次

#include <iostream> #include <string> #include <bitset> int main() { std::bitset<16> dest; std::string pattern_str = "1001"; std::bitset<16> pattern(pattern_str for (size_t i = 0, ie = dest.size()/pattern_str.size( i != ie; ++i) { dest <<= pattern_str.size( dest |= pattern; } std::cout << dest << '\n'; }

二次

产出:

二次

1001100110011001

二次

另见

operator<<=operator>>=operator<>performs binary shift left and shift right (public member function)

© cppreference.com

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

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