std::bitset<N>::operator==, std::bitset<N>::operator!=
Материал из cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
<tbody class="t-dcl-rev t-dcl-rev-num ">
</tbody><tbody>
</tbody>
| (1) | ||
bool operator==( const bitset& rhs ) const; |
(до C++11) | |
bool operator==( const bitset& rhs ) const noexcept; |
(начиная с C++11) (constexpr начиная с C++23) |
|
| (2) | ||
bool operator!=( const bitset& rhs ) const; |
(до C++11) | |
bool operator!=( const bitset& rhs ) const noexcept; |
(начиная с C++11) (до C++20) |
|
1) Возвращает
true, если все биты в *this и rhs равны.2) Возвращает
true, если какие-либо биты в *this и rhs не равны.|
Оператор |
(начиная с C++20) |
Параметры
| rhs | — | набор битов для сравнения |
Возвращаемое значение
1)
true, если значение каждого бита в *this равно значению соответствующего бита в rhs, иначе false2)
true, если !(*this == rhs), иначе falseПример
Сравнивает данные наборы битов, чтобы определить, идентичны ли они:
Запустить этот код
#include <iostream>
#include <bitset>
int main()
{
std::bitset<4> b1( 0b0011 );
std::bitset<4> b2( b1 );
std::bitset<4> b3( 0b0100 );
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