Операционная система UNIX. Руководство программиста

       

Операции сдвига


Выражения с операциями сдвига << и >> группируются слева направо. Обе выполняют обычные арифметические преобразования операндов, каждый из которых должен быть целочисленным. Затем правый операнд преобразуется к типу int; тип результата совпадает с типом левого операнда. Результат не определен, если правый операнд отрицателен либо больше или равен размеру (в битах) левого операнда.

выражение_сдвига: выражение << выражение выражение >> выражение

Значение выражения E1<<E2 есть E1 (рассматриваемое как набор бит), сдвинутое влево на E2 бит. Oсвободившиеся биты заполняются нулями. Значение выражения E1>>E2 есть E1, сдвинутое вправо на E2 бит. Гарантируется, что правый сдвиг будет логическим (с заполнением нулями), если E1 беззнаковое, в ином случае сдвиг может оказаться арифметическим.



Содержание раздела