Compartilhar via


Operador de complemento individual: ~

Sintaxe

~ 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 C++ especifica compl como uma ortografia alternativa para ~. Em C, a ortografia alternativa é fornecida como uma macro no cabeçalho <iso646.h>. No C++, a ortografia alternativa é uma palavra-chave; o uso de <iso646.h> ou do equivalente do C++ <ciso646> foi preterido. No Microsoft C++, a opção do compilador /permissive- ou /Za é necessária para habilitar a ortografia alternativa.

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 integral é executada em operandos integrais. O tipo para o qual o operando é promovido é o tipo resultante. Para obter mais informações sobre a promoção integral, consulte conversões Padrão.

Confira também

Expressões com operadores unários
Operadores internos, precedência e associatividade no C++
Operadores aritméticos unários