Operatori aritmetici unariUnary Arithmetic Operators

Gli operatori più unario, di negazione aritmetica, complemento e negazione logica vengono illustrati nell'elenco seguente:The C unary plus, arithmetic-negation, complement, and logical-negation operators are discussed in the following list:

OperatoreOperator DescrizioneDescription
+ L'operatore più unario che precede un'espressione tra parentesi forza il raggruppamento delle operazioni incluse.The unary plus operator preceding an expression in parentheses forces the grouping of the enclosed operations. Viene utilizzato con le espressioni che includono più di un operatore binario associativo o commutativo.It is used with expressions involving more than one associative or commutative binary operator. L'operando deve disporre di un tipo aritmetico.The operand must have arithmetic type. Il risultato corrisponde al valore dell'operando.The result is the value of the operand. Un operando integrale viene sottoposto a una promozione a intero.An integral operand undergoes integral promotion. Il tipo del risultato corrisponde al tipo dell'operando promosso.The type of the result is the type of the promoted operand.
- L'operatore di negazione aritmetica produce il corrispondente negativo (il complemento a due) del relativo operando.The arithmetic-negation operator produces the negative (two's complement) of its operand. L'operando deve essere un valore integrale o a virgola mobile.The operand must be an integral or floating value. Questo operatore esegue le consuete conversioni aritmetiche.This operator performs the usual arithmetic conversions.
~ L'operatore di complemento bit per bit (o NOT bit per bit) produce il complemento bit per bit del relativo operando.The bitwise-complement (or bitwise-NOT) operator produces the bitwise complement of its operand. L'operando deve essere di tipo integrale.The operand must be of integral type. Questo operatore esegue le consuete conversioni aritmetiche; il tipo del risultato corrisponde al tipo dell'operando dopo la conversione.This operator performs usual arithmetic conversions; the result has the type of the operand after conversion.
!! L'operatore di negazione logica (NOT logico) produce il valore 0 se il suo operando è true (diverso da zero) e il valore 1 se il suo operando è false (0).The logical-negation (logical-NOT) operator produces the value 0 if its operand is true (nonzero) and the value 1 if its operand is false (0). Il risultato è di tipo int.The result has int type. L'operando deve essere un valore integrale, a virgola mobile o di puntatore.The operand must be an integral, floating, or pointer value.

Le operazioni aritmetiche unarie sui puntatori non sono valide.Unary arithmetic operations on pointers are illegal.

EsempiExamples

Negli esempi seguenti vengono illustrati gli operatori aritmetici unari:The following examples illustrate the unary arithmetic operators:

short x = 987;  
    x = -x;  

Nell'esempio precedente, il nuovo valore di x è il numero negativo 987 o -987.In the example above, the new value of x is the negative of 987, or -987.

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

In questo esempio, il nuovo valore assegnato a y è il complemento a uno del valore senza segno 0xAAAA o 0x5555.In this example, the new value assigned to y is the one's complement of the unsigned value 0xAAAA, or 0x5555.

if( !(x < y) )  

Se x è maggiore o uguale a y, il risultato dell'espressione è 1 (true).If x is greater than or equal to y, the result of the expression is 1 (true). Se x è minore di y, il risultato è 0 (false).If x is less than y, the result is 0 (false).

Vedere ancheSee Also

Espressioni con operatori unariExpressions with Unary Operators