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 ) |
进行两个 bitset
lhs 和 rhs 间的二进制与(AND)、或(OR)及异或(XOR)运算。
参数
lhs | - | 运算符左侧的 bitset
|
rhs | - | 运算符右侧的 bitset
|
返回值
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
参阅
进行二进制与、或、异或及非 (公开成员函数) |