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++, precedenza e associazione