Operadores aritméticos unarios

Los operadores de C unario más, negación aritmética, complemento y negación lógica se analizan en la lista siguiente:

Operador Descripción
+ El operador unario más que precede a una expresión entre paréntesis fuerza la agrupación de las operaciones incluidas. Se utiliza con expresiones que implican más de un operador binario asociativo o conmutativo. El operando debe tener tipo aritmético. El resultado es el valor del operando. Un operando entero experimenta una promoción de entero. El tipo del resultado es el tipo del operando promovido.
- El operador negación aritmética genera el negativo (complemento de dos) de su operando. El operando debe ser un valor entero o flotante. Este operador realiza las conversiones aritméticas habituales.
~ El operador complemento bit a bit (o NOT bit a bit) genera el complemento bit a bit de su operando. El operando debe ser de tipo entero. Este operador realiza las conversiones aritméticas habituales; el resultado tiene el tipo del operando después de la conversión.
! El operador negación lógica (NOT lógico) genera el valor 0 si su operando es true (distinto de cero) y el valor 1 si su operando es false (0). El resultado tiene el tipo int. El operando debe ser un valor entero, flotante o de puntero.

Las operaciones aritméticas unarias en punteros no son válidas.

Ejemplos

En los ejemplos siguientes se muestran los operadores aritméticos unarios:

short x = 987;
    x = -x;

En el ejemplo anterior, el nuevo valor de x es el negativo de 987, o -987.

unsigned short y = 0xAAAA;
    y = ~y;

En este ejemplo, el nuevo valor asignado a y es el complemento de uno del valor sin signo 0xAAAA, o 0x5555.

if( !(x < y) )

Si x es mayor o igual que y, el resultado de la expresión es 1 (true). Si x es menor que y, el resultado es 0 (false).

Vea también

Expresiones con operadores unarios