является сдвиг битов операнда на число_битов вправо или влево.
Для операнда без знака освободившиеся при сдвиге биты заполняются нулями. Если операнд со знаком, то сдвиг вправо (>>) в зависимости от среды компилятора может привести к расширению знака. Сдвиг операндов влево (вправо) на 1, 2, 3 и более бит – это наиболее быстрый способ умножения (деления) на 2, 4, 8 и т.д.
Пример. Использование сдвиговых операций умножения и деления.
Программа:
void main ()
{ int x=1;
printf (“%d, %d, %d, %d\n”, x, x<<1, x<<2, x<<3);
x=128;
printf (“%d, %d, %d, %d”, x, x>>1, x>>2, x>>3);
}
Результаты программы:
1, 2, 4, 8 /* коды: 00000001, 00000010, 00000100, 00001000 */
128, 64, 32, 16 /* коды: 10000000, 01000000, 00100000, 00010000 */