Класс bitset: выполнение операций

Для вывода значения в окно консоли предназначен оператор <<, а для ввода значения с консоли — оператор >>:

std::bitset<8> arr;
std::cout << "arr = ";
std::cout.flush();
std::cin >> arr;                  // Получаем значение
if (std::cin.good())
   std::cout << arr << std::endl; // Выводим значение
else
   std::cout << "Error" << std::endl;

Один объект класса bitset можно присвоить другому объекту (создается копия):

std::bitset<8> arr1("11010101"), arr2;
arr2 = arr1;
std::cout << arr2 << std::endl; // 11010101

Над двумя объектами класса bitset определены операции сравнения == и !=, а также побитовые операции &, | и ^:

std::bitset<8> arr1(0b1100100), arr2(0b1001011), arr3;
arr3 = arr1 & arr2;
std::cout << arr3 << std::endl; // 01000000
arr3 = arr1 | arr2;
std::cout << arr3 << std::endl; // 01101111

С помощью оператора ~ можно заменить значение каждого бита противоположным:

std::bitset<8> arr1("01100100"), arr2;
arr2 = ~arr1;
std::cout << arr2 << std::endl; // 10011011

Для поразрядного сдвига предназначены операторы << и >>:

std::bitset<8> arr1("01100100"), arr2;
arr2 = arr1 >> 1;
std::cout << arr2 << std::endl; // 00110010
arr2 = arr1 << 1;
std::cout << arr2 << std::endl; // 11001000

Доступны также побитовые операторы с присваиванием: &=, |=, ^=, <<= и >>=.

Учебник C++ (MinGW-W64)
Учебник C++ (MinGW-W64) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов