Составители:
Рубрика:
24
Эта проверка основывается на двоичном представлении числа
8=00001000.
Операции сдвига << и >> применимы только к целочисленным пере-
менным. В результате применения этих операций сдвигаются все биты
левого операнда на число позиций, определяемого выражением справа
от знака операции влево или вправо. Форма этих операций следующая:
value << число позиций
value >> число позиций.
Пример: двоичное представление числа x=9: 00001001, тогда
x=9<<3 01001000
x=9>>3 00000001
x=9>>5 00000000
Применение операций сдвига может приводить к потере младших
или старших байтов. Применение операций << и >> по очереди к одной
и той же переменной может изменить значение этой переменной из-за
потери разрядов.
Поразрядные операции порождают еще несколько сложных опера-
ций присваивания: |=, &=, ^=, <<=, >>=.
Операции ( ) и [ ]. В языке С круглые и квадратные скобки также
рассматриваются как операции. Причем эти операции имеют высший
приоритет.
Операция условие? Операция условие – единственная операция язы-
ка С, имеющая три операнда. Эта операция имеет вид
( выр1 )?(выр2):(выр3)
Вычисляется выражение (выр1). Если это выражение имеет ненуле-
вое значение, то вычисляется выражение (выр2), и оно будет результа-
том выполнением операции. Если значение выражения (выр1) равно
нулю, то вычисляется значение выражения (выр3) и его значение будет
результатом операции. В любом случае вычисляется только одно из вы-
ражений: (выр2) и (выр3). Например, операцию условие удобно приме-
нять для нахождения наибольшего из двух чисел a и b
max=(a>b)?a:b;
или для нахождения абсолютной величины числа a
abs=(a>0)?a:-a;
Если второй и третий операнды являются величинами типа lvalue, т.
е. могут стоять в левой части операции присваивания, то и результат
операции условие является величиной типа lvalue. С помощью этой
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »