Operador de complemento individual: ~
~ cast-expression
Comentários
O operador de complemento de um (~), às vezes chamado de operador de “complemento bit a bit”, gera um complemento bit a bit de seu operando. Ou seja, cada bit que é 1 no operando, é 0 no resultado. De forma análoga, cada bit que é 0 no operando, é 1 no resultado. O operando para o operador de complemento de um deve ser um tipo integral.
Palavra-chave do operador para ~
O operador compl é o equivalente de texto de ~. Há duas maneiras de acessar o operador compl nos programas: incluindo o arquivo de cabeçalho iso646.h ou compilando com /Za.
Exemplo
// 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;
}
Nesse exemplo, o novo valor atribuído a y é o complemento de um do valor sem sinal 0xFFFF, ou 0x0000.
A promoção de integral é executada em operandos integrais, e o tipo resultante é o tipo para o qual o operando é promovido. Consulte Promoções de integral para obter mais informações sobre como a promoção é feita.
Consulte também
Referência
Expressões com operadores unários
Operadores, precedência e associatividade C++