operator&,|,^(std::bitset)
来自 cppreference.com
定义在头文件 <bitset> 中 |
||
template< std::size_t N > std::bitset<N> operator&( const std::bitset<N>& lhs, |
(1) | (自 C++11 起为 noexcept) (自 C++23 起为 constexpr) |
template< std::size_t N > std::bitset<N> operator|( const std::bitset<N>& lhs, |
(2) | (自 C++11 起为 noexcept) (自 C++23 起为 constexpr) |
template< std::size_t N > std::bitset<N> operator^( const std::bitset<N>& lhs, |
(3) | (自 C++11 起为 noexcept) (自 C++23 起为 constexpr) |
对两个位集 lhs 和 rhs 执行二进制 AND、OR 和 XOR。
内容 |
[编辑] 参数
lhs | - | 运算符左侧的位集 |
rhs | - | 运算符右侧的位集 |
[编辑] 返回值
1) std::bitset<N>(lhs) &= rhs
2) std::bitset<N>(lhs) |= rhs
3) std::bitset<N>(lhs) ^= rhs
[编辑] 示例
运行此代码
#include <bitset> #include <iostream> int main() { std::bitset<4> b1("0110"); std::bitset<4> b2("0011"); std::cout << "b1 & b2: " << (b1 & b2) << '\n'; std::cout << "b1 | b2: " << (b1 | b2) << '\n'; std::cout << "b1 ^ b2: " << (b1 ^ b2) << '\n'; }
输出
b1 & b2: 0010 b1 | b2: 0111 b1 ^ b2: 0101
[编辑] 另请参见
执行二进制 AND、OR、XOR 和 NOT (公有成员函数) |