Уровень приоритета операций сдвига равен 5. Порядок выполнения операций - слева направо.
Операция сдвига влево: <<
Тип операнда - интегральный. Тип результата - такой же, как у левого операнда. Правый операнд преобразуется к типу int. Левый операнд сдвигается на число разрядов, равное значению правого операнда. Освобождающие разряды заполняются нулями.
Использование:
ie1<<ie2Двоичное представление ie1 сдвигается влево на ie2 разрядов, освобождающие разряды заполняются нулями.
Пример:
four=x<<2;Операция сдвига вправо: >>
Тип операнда - интегральный. Тип результата - такой же, как у левого операнда. Правый операнд преобразуется к типу int. Левый операнд сдвигается на число разрядов, равное значению правого операнда. Сдвиг будет логическим сдвигом, если левый операнд имеет тип unsigned.
Использование:
ie1>>ie2Двоичное представление ie1 сдвигается вправо на ie2 разрядов. Сдвиг вправо может быть арифметическим (т. е. освобождающиеся слева разряды заполняются значениями знакового разряда) или логическим в зависимости от реализации, однако гарантируется, что сдвиг вправо целых чисел без знака будет логическим и освобождающиеся слева разряды будут заполняться нулями.
|
|
Пример:
x=x>>3;Операции, уровень приоритета которых равен 6
Уровень приоритета операций отношения равен 6. Выполняются эти операции слева направо.
Операция меньше: <
Тип операндов - арифметический или указатель. Тип результата - int.
Использование:
ae1<ae2Истина, если ae1 меньше, чем ae2.
Пример:
if(x<0) printf("negative");Операция больше: >
Тип операндов - арифметический или указатель. Тип результата - int.
Использование:
ae1>ae2Истина, если ae1 больше, чем ae2.
Пример:
if(x>0) printf("positive");Операция меньше или равно: <=
Тип операндов - арифметический или указатель. Тип результата - int.
Использование:
ae1<=ae2Истина, если ae1 меньше или равно ae2.
Операция больше или равно: >=
Тип операндов - арифметический или указатель. Тип результата - int.
Использование:
ae1>=ae2Истина, если ae1 больше или равно ae2.