Freigeben über


Einerkomplementoperator: ~

~ cast-expression

Hinweise

Der Einerkomplementoperator (~), der manchmal als "bitweiser Komplementoperator" bezeichnet wird, ergibt eine bitweise Einerkomplement seines Operanden. Das bedeutet, dass jedes Bit, das 1 im Operanden ist, 0 im Ergebnis ist. Umgekehrt ist jedes Bit, das 0 im Operanden ist, im Ergebnis 1. Der Operand für den Einerkomplementoperator muss ein ganzzahliger Typ sein.

Operator-Schlüsselwort für ~

Der compl-Operator ist die Textentsprechung von ~. Es gibt zwei Möglichkeiten, auf den compl-Operator in Programmen zuzugreifen: Einschließen der Headerdatei iso646.h oder Kompilieren mit /Za.

Beispiel

// 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 diesem Beispiel ist der neue Wert, der y zugewiesen ist, das Einerkomplement des Werts ohne Vorzeichen 0xFFFF oder 0x0000.

Ganzzahlige Erweiterung wird für ganzzahlige Operanden durchgeführt, und der resultierende Typ ist der Typ, auf den der Operand erweitert wird. Weitere Informationen zur Ausführung der Heraufstufung finden Sie unter Ganzzahlige Erweiterungen.

Siehe auch

Referenz

Ausdrücke mit unären Operatoren

C++-Operatoren

C++-Operatoren, Rangfolge und Assoziativität

Konzepte

Unäre arithmetische Operatoren