Namespaces
Variants

operator&,|,^ (std::bitset)

From cppreference.net
Utilities library
Определено в заголовочном файле <bitset>
template < std:: size_t N >

std:: bitset < N > operator & ( const std:: bitset < N > & lhs,

const std:: bitset < N > & rhs ) ;
(1) (noexcept начиная с C++11)
(constexpr начиная с C++23)
template < std:: size_t N >

std:: bitset < N > operator | ( const std:: bitset < N > & lhs,

const std:: bitset < N > & rhs ) ;
(2) (noexcept начиная с C++11)
(constexpr начиная с C++23)
template < std:: size_t N >

std:: bitset < N > operator ^ ( const std:: bitset < N > & lhs,

const std:: bitset < N > & rhs ) ;
(3) (noexcept начиная с C++11)
(constexpr начиная с C++23)

Выполняет бинарные операции AND, OR и XOR между двумя битовыми наборами, lhs и rhs .

1) Возвращает std:: bitset < N > , содержащий результат бинарного AND для соответствующих пар битов lhs и rhs .
2) Возвращает std:: bitset < N > с результатом выполнения бинарной операции ИЛИ над соответствующими парами битов lhs и rhs .
3) Возвращает std:: bitset < N > содержащий результат бинарной операции XOR над соответствующими парами битов lhs и rhs .

Содержание

Параметры

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
(public member function)