1.3.3. Операции отрицания и дополнения

Содержание
Возврат к предыдущей части 1.3.2 Преобразования при вычислении выражений

Операция арифметического отрицания (-) вырабатывает отрицание своего операнда. Операнд должен быть целой или плавающей величиной. При выполнении осуществляются обычные арифметические преобразования.

Пример:

1
2
3
       double  u = 5;
       u = -u;          /* переменной u присваивается ее отрицание,
                            т.е. u  принимает значение -5     */

Операция логического отрицания «НЕ» (!) вырабатывает значение 0, если операнд есть истина (не нуль), и значение 1, если операнд равен нулю (0). Результат имеет тип int. Операнд должен быть целого или плавающего типа или типа указатель.

Пример:

1
2
       int t, z=0;
       t=

Переменная t получит значение равное 1, так как переменная z имела значение равное 0 (ложно).

Операция двоичного дополнения (~) вырабатывает двоичное дополнение своего операнда. Операнд должен быть целого типа. Осуществляется обычное арифметическое преобразование, результат имеет тип операнда после преобразования.

Пример:

1
2
3
       char            b = '9';
       unsigned char   f;
        b = ~f;

Шестнадцатеричное значение символа ‘9’ равно 39. В результате операции ~f будет получено шестнадцатеричное значение С6, что соответствует символу ‘ц’.

Читать далее. Раздел 1.3.4. Операции разадресации и адреса
Содержание

Добавить комментарий

Ваш e-mail не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.