Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een complementoperator:
Syntaxis
~ cast-expression
Opmerkingen
De operator van het ene complement (~ook wel de operator bitwise complement genoemd) levert een bitwise aanvulling van de operand op. Dat wil gezegd, elke bit die 1 in de operand is, is 0 in het resultaat. Omgekeerd is elke bit die 0 in de operand is 1 in het resultaat. De operand naar de complementoperator moet een integraal type zijn.
Operatorwoord voor ~
C++ geeft aan compl als alternatieve spelling voor ~. In C wordt de alternatieve spelling opgegeven als macro in de <kop iso646.h> . In C++is de alternatieve spelling een trefwoord; gebruik van <iso646.h> of het C++ equivalente <ciso646> is afgeschaft. In Microsoft C++is de /permissive- optie of /Za compiler vereist om de alternatieve spelling in te schakelen.
Voorbeeld
// 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 dit voorbeeld is de nieuwe waarde die is toegewezen y aan de aanvulling van de niet-ondertekende waarde 0xFFFF of 0x0000.
Integrale promotie wordt uitgevoerd op integrale operanden. Het type waar de operand naar wordt gepromoveerd, is het resulterende type. Zie Standard-conversies voor meer informatie over integrale promotie.
Zie ook
Expressies met unaire operatoren
Ingebouwde C++-operators, prioriteit en associativiteit
Unaire rekenkundige operatoren