std::bitset::operators
:位集::运算符&=,=,^=,~
bitset | (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将位设置为二进制结果,并在相应的位对上设置*this
和other
...
2%29将位设置为二进制或对应的对位的结果。*this
和other
...
3%29将位设置为对应的位对上的二进制异或值的结果。*this
和other
...
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。