Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Класс 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
Доступны также побитовые операторы с присваиванием: &=
, |=
, ^=
, <<=
и >>=
.
Помощь сайту
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов