Операторы миграции. >> и <<

expression << expression
expression >> expression

Заметки

Операторы побитового сдвига выглядят следующим образом:

  • Сдвиг вправо (>>)

  • Сдвиг влево (<<)

Оба операнда оператора сдвига должен быть целочисленных типов.Целых повышениях, выполняются согласно правилам, описанным в Объединенные promotion.Тип результата совпадает с типом распространяемого левый операнд.Значение сдвига вправо выражение x >> y — x / 2yи значение сдвига влево выражение x << y is x * 2y.

Результат не определено, если правый операнд выражения shift является отрицательным или правый операнд больше или равно числу битов (распространяемого) левого операнда.Операция сдвига не выполняется, если правый операнд равен нулю (0).

Разряд вызывает оператор сдвига влево в первом операнде смещены влево на количество битов, указанное во втором операнде.Освобожденные операция сдвига битов заполняются нулями.Это является логическим сдвигом вместо shift и поверните операции.

Оператор сдвига вправо приводит разряд в первом операнде сдвигаются вправо на количество битов, указанное во втором операнде.Освобожденные операция сдвига битов заполняются нулями для неподписанных количеств.Для подписанных количества бит знака распространяется в освобожденных старших разрядов.Shift является логическим сдвигом, если левый операнд является неподписанные количество; в противном случае это арифметического сдвига.

Только для систем Microsoft

Результат сдвига вправо со знаком минус количество зависит от реализации.Хотя MicrosoftC++ распространяет наиболее существенные бит для заполнения освобожденных старших разрядов, нет никакой гарантии, что в других реализациях также сделать это.

Пример

// expre_Shift_Operators.cpp
// compile with: /EHsc
// Demonstrate shift operators
#include <iostream>
using namespace std;

int main() {
   cout   << "5 times 2 is " << (5 << 1) << endl
         << "20 divided by 4 is " << (20 >> 2) << endl;
}

Output

  
  

См. также

Ссылки

Выражения с бинарными операторами

Операторы C++

Operator precedence and Associativity

Основные понятия

Побитовые операторы миграции