# std::bitset<N>::operator==, std::bitset<N>::operator!=

< cpp‎ | utility‎ | bitset

| (1) |
bool operator==( const bitset& rhs ) const; |  | (C++11 前)
bool operator==( const bitset& rhs ) const noexcept; |  | (C++11 起)
| (2) |
bool operator!=( const bitset& rhs ) const; |  | (C++11 前)
bool operator!=( const bitset& rhs ) const noexcept; |  | (C++11 起) (C++20 前)

1) 若 `*this` 与 `rhs` 中的所有位相等则返回 true 。
2) 若 `*this` 与 `rhs` 中的任何位不相等则返回 true 。

`!=` 运算符从 `operator==` 合成。 | (C++20 起)

### 参数

rhs | - | 要比较的 bitset

### 返回值

1) 若 `*this` 中每位都等于 `rhs` 中对应位的值则为 true ，否则为 false
2) 若 !(*this == rhs) 则为 true ，否则为 false

### 示例

比较二个 bitset 以确定它们是否等同：

    #include <iostream>
    #include <bitset>

    int main()
    {
        std::bitset<4> b1(3); // [0,0,1,1]
        std::bitset<4> b2(b1);
        std::bitset<4> b3(4); // [0,1,0,0]

        std::cout << std::boolalpha;
        std::cout << "b1 == b2: " << (b1 == b2) << '\n';
        std::cout << "b1 == b3: " << (b1 == b3) << '\n';
        std::cout << "b1 != b3: " << (b1 != b3) << '\n';

    //  b1 == std::bitset<3>{}; // 编译时错误：不兼容类型
    }

输出：

    b1 == b2: true
    b1 == b3: false
    b1 != b3: true