Содержание
Возврат к предыдущей части 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. Операции разадресации и адреса
Содержание