Операнд сдвиг число_битов

является сдвиг битов операнда на число_битов вправо или влево.

Для операнда без знака освободившиеся при сдвиге биты заполняются нулями. Если операнд со знаком, то сдвиг вправо (>>) в зависимости от среды компилятора может привести к расширению знака. Сдвиг операндов влево (вправо) на 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 */


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: