~

Beschreibung

Der bitweise NOT-Operator in C ++ ist das Tilde-Zeichen ~. Im Gegensatz zu & und | wird der bitweise NOT-Operator auf einen einzelnen Operanden rechts davon angewendet. Bitweises NOT ändert jedes Bit in sein Gegenteil: 0 wird 1 und 1 wird 0.

In anderen Worten:

0 1 operand1 ----- 1 0 ~operand1

Beispielcode

int a = 103; // Binär: 0000000001100111 int b = ~a; // Binär: 1111111110011000 = -104

※ Anmerkungen und Warnungen:

Möglicherweise bist du überrascht, als Ergebnis dieses Vorgangs eine negative Zahl wie -104 zu sehen. Dies liegt daran, dass das höchste Bit in einer int-Variablen das sogenannte Vorzeichenbit ist. Wenn das höchste Bit 1 ist, wird die Zahl als negativ interpretiert. Diese Kodierung von positiven und negativen Zahlen wird als Zweierkomplement bezeichnet. Weitere Informationen finden sich im Wikipedia-Artikel über das Zweierkomplement.

Nebenbei bemerkt ist es interessant zu wissen, dass ~x für jede ganze Zahl x das gleiche ist wie -x-1.

Das Vorzeichenbit in einem vorzeichenbehafteten ganzzahligen Ausdruck kann manchmal zu unerwünschten Überraschungen führen.

Siehe Auch

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.