Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Operador de complemento:
Sintaxis
~ cast-expression
Comentarios
El operador de complemento de uno (~
), denominado a veces operador de complemento bit a bit, produce un complemento de uno bit a bit de su operando. Es decir, cada bit que es 1 en el operando es 0 en el resultado. Y a la inversa: cada bit que es 0 en el operando es 1 en el resultado. El operando del operador de complemento de uno debe ser de tipo entero.
Palabra clave del operador para ~
C++ especifica compl
como una ortografía alternativa para ~
. En C, la ortografía alternativa se proporciona como una macro en el encabezado <iso646.h>. En C++, la ortografía alternativa es una palabra clave; el uso de <iso646.h> o el equivalente de C++ <ciso646> está en desuso. En Microsoft C++, se requiere la opción del compilador /permissive-
o /Za
para poder habilitar la ortografía alternativa.
Ejemplo
// 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;
}
En este ejemplo, el nuevo valor asignado a y
es el complemento de uno del valor sin signo 0xFFFF, or 0x0000.
La promoción de entero se realiza en operandos enteros. El tipo al que se promueve el operando es el tipo resultante. Para obtener más información sobre la promoción integral, consulte Conversiones estándar.
Consulte también
Expresiones con operadores unarios
Operadores integrados de C++, precedencia y asociatividad
Operadores aritméticos unarios