Condividi tramite


Operatore di complemento a uno: ~

~ cast-expression

Note

L'operatore di complemento a uno (~), talvolta denominato l'operatore di "complemento bit per bit", produce un complemento a uno bit per bit del suo operando. Ovvero ogni bit con 1 nell'operando è 0 nel risultato. Viceversa, ogni bit con 0 nell'operando è 1 nel risultato. L'operando dell'operatore di complemento a uno deve essere un tipo integrale.

Parola chiave operator per ~

L'operatore compl è il testo equivalente di ~. Esistono due modi per accedere all'operatore compl nei programmi: includere il file di intestazione iso646.h o compilare l'opzione /Za.

Esempio

// expre_One_Complement_Operator.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;

int main () {
   unsigned short y = 0xFFFF;
   cout << hex << y << endl;
   y = ~y;   // Take one's complement
   cout << hex << y << endl;
}

In questo esempio, il nuovo valore assegnato a y è il complemento a uno del valore non firmato 0xFFFF o a 0x0000.

La promozione a intero viene eseguita su operandi integrali e il tipo risultante è il tipo a cui l'operando viene promosso. Vedere Promozioni integrali per ulteriori informazioni su come viene eseguita la promozione.

Vedere anche

Riferimenti

Espressioni con operatori unari

Operatori C++

Operatori C++, precedenza e associazione

Concetti

Operatori aritmetici unari