Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Что означает >>= в c++?

ПрограммированиеИнформатика+1
Роман Канашов
  ·   · 136
Studio 22 - это открытая площадка для реализации...  · 22 дек 2020  · std-22.github.io
Отвечает
Ilya Tolokonov

Здравствуйте, ">>=" является постфиксной формой записи побитового оператора смещения вправо ">>", который по своей сути эквивалентен делению стоящего перед ним числа на 2 без остатка некоторое количество раз, указываемое после оператора. То есть корректным способом его применения на языке с++ является такая конструкция:

#include <iostream>

using namespace std;

int main()

{

int n=2;

int b=30;

b>>=n; //или b = b >> n;

cout<<b;

return 0;

}

Вывод: 7

Получается, что мы взяли число 30, перевели его в двоичную систему: 11110 и применили побитовый сдвиг в правую сторону 2 раза (число n), заменяя освободившееся место 0, то есть b стало 01110, а затем 00111, и в конце перевели обратно в десятичную систему, получив ответ 7.