Язык С

       

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


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

Значением выражения E1<<E2 является E1 (интерпретируемое как комбинация битов), сдвинутое влево на E2 битов; освобождаю- щиеся биты заполняются нулем. значением выражения E1>>E2 яв- ляется E1, сдвинутое вправо на E2 битовых позиций. Если E1 имеет тип UNSIGNE, то сдвиг вправо гарантированно будет ло- гическим (заполнение нулем); в противном случае сдвиг может быть (и так и есть на PDP-11) арифметическим (освобождающие- ся биты заполняются копией знакового бита).



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