Diese Seite ist auch in 2 anderen Sprachen verfügbar.
Sprache wechseln  

^

[Bitwise Operators]

Beschreibung

In C++ gibt es einen etwas ungewöhnlichen Operator namens bitweises exklusives OR, auch bitweises XOR genannt. Der bitweise XOR-Operator wird mit dem Caret-Symbol ^ geschrieben. Eine bitweise XOR-Operation führt nur dann zu einer 1, wenn die Eingangsbits unterschiedlich sind. Andernfalls ergibt sich eine 0.

Precisely,

0  0  1  1    operand1
0  1  0  1    operand2
----------
0  1  1  0    (operand1 ^ operand2) - Ergebnis

Beispielcode

int x = 12;    // Binär: 1100
int y = 10;    // Binär: 1010
int z = x ^ y; // Binär: 0110, oder dezimal 6

Der ^ -Operator wird häufig verwendet, um einige der Bits in einem ganzzahligen Ausdruck umzuschalten (d. H. Von 0 auf 1 oder von 1 auf 0 zu wechseln).
Wenn in einer bitweisen ODER-Operation eine 1 im Maskenbit vorhanden ist, wird dieses Bit invertiert.
Wenn es eine 0 gibt, wird das Bit nicht invertiert und bleibt gleich.

// Hinweis: Dieser Code verwendet Register, die für AVR-Mikrocontroller spezifisch sind (Uno, Nano, Leonardo, Mega usw.).
// Es wird für andere Architekturen nicht kompilieren
void setup() {
  DDRB = DDRB | B00100000; // Setzen von PB5 (Pin 13 beim Uno / Nano, Pin 9 beim Leonardo / Micro, Pin 11 beim Mega) als OUTPUT
  Serial.begin(9600);
}

void loop() {
  PORTB = PORTB ^ B00100000;  // PB5 invertieren, andere unberührt lassen
  delay(100);
}

Siehe auch