Logischer XOR-Operator in C

Waqar Aslam 12 Oktober 2023
  1. eine Übersicht über den XOR-Operator (^) in C
  2. Verwenden Sie ^, um XOR in der Programmiersprache C anzuwenden
  3. Wenden Sie XOR in der Programmiersprache C an
Logischer XOR-Operator in C

In diesem Artikel werden wir den logischen XOR-Operator (^) in der Programmiersprache C verstehen.

eine Übersicht über den XOR-Operator (^) in C

Exklusives ODER, auch bekannt als XOR, ist ein logischer Operator, der ein wahres Ergebnis liefert, wenn einer der Operanden wahr ist (einer ist wahr und der andere falsch), aber nicht, wenn beide wahr sind, noch wenn beide wahr sind FALSCH. Wenn beide Operanden wahr sind, kann die Verwendung des einfachen oder in der logischen Bedingungserstellung zu Verwirrung führen.

Denn unter solchen Umständen ist es schwierig zu verstehen, was genau die Kriterien erfüllt. Dieses Problem wurde gelöst, indem dem Wort oder der Zusatz exklusiv hinzugefügt wurde, was auch dessen Bedeutung verdeutlicht.

Verwenden Sie ^, um XOR in der Programmiersprache C anzuwenden

Der Operator ^, auch als bitweises XOR bekannt, nimmt zwei ganze Zahlen als Operanden und führt XOR an jedem Bit beider Zahlen durch.

Sind beide Bits unterschiedlich, liefert die XOR-Operation den Wert 1. Sind die Bits identisch, wird der Wert 0. zurückgegeben.

Nehmen wir ein Beispiel, um das bitweise XOR in C anzuwenden. Importieren Sie zuerst die Bibliotheken und erstellen Sie eine main()-Funktion.

#include <stdio.h>
int main() {}

Erstellen Sie innerhalb der Hauptfunktion zwei Variablen namens firstValue und secondValue mit dem int-Datentyp und legen Sie für jede ganzzahlige Werte fest. Der firstValue ist gleich 0101, und der secondValue ist gleich 1001 im Binärformat.

int firstValue = 5;
int secondValue = 9;

Jetzt, da wir diese beiden Variablen haben, müssen wir XOR auf sie anwenden, also erstellen wir eine neue Variable namens applyXOR und verwenden das Symbol ^ für beide Variablen.

int applyXOR = firstValue ^ secondValue;

Im obigen Ausdruck wird die XOR-Operation an beiden Binärwerten wie folgt durchgeführt.

firstValue secondValue firstValue ^ secondValue
0 1 1
1 0 1
0 0 0
1 1 0

Nun erhalten wir die Zahl 1100 im Binärformat, die in Dezimal umgerechnet gleich dem Wert 12 ist. Dann drucken wir den erhaltenen Wert aus.

printf("The value obtained after applying XOR is: %d", applyXOR);

Wenden Sie XOR in der Programmiersprache C an

Codebeispiel:

#include <stdio.h>
int main() {
  int firstValue = 5;
  int secondValue = 9;
  int applyXOR = firstValue ^ secondValue;

  printf("The value obtained after applying XOR is: %d", applyXOR);

  return 0;
}

Ausgang:

The value obtained after applying XOR is: 12

Nehmen wir ein weiteres Beispiel, um die Funktionsweise des XOR-Operators (^) zu demonstrieren.

Suchen Sie in einer gegebenen Sammlung von Zahlen, in der bis auf eine Zahl jedes Element eine gerade Anzahl von Malen vorkommt, die ungerade vorkommende Zahl. Das einfache Anwenden des XOR(^)-Operators auf jede Ganzzahl, um dieses Problem zu lösen, ist eine effektive Möglichkeit, es anzugehen.

Codebeispiel:

#include <stdio.h>
int getOddOccurringNumber(int arr[], int number) {
  int value = 0, i;
  for (i = 0; i < number; i++) value ^= arr[i];
  return value;
}

int main(void) {
  int array[] = {12, 12, 14, 90, 14, 16, 16};
  int sizeNumber = sizeof(array) / sizeof(array[0]);
  printf("The value that occurred odd times in the list is: %d ",
         getOddOccurringNumber(array, sizeNumber));
  return 0;
}

Ausgang:

The value that occurred odd times in the list is: 90
Waqar Aslam avatar Waqar Aslam avatar

I am Waqar having 5+ years of software engineering experience. I have been in the industry as a javascript web and mobile developer for 3 years working with multiple frameworks such as nodejs, react js, react native, Ionic, and angular js. After which I Switched to flutter mobile development. I have 2 years of experience building android and ios apps with flutter. For the backend, I have experience with rest APIs, Aws, and firebase. I have also written articles related to problem-solving and best practices in C, C++, Javascript, C#, and power shell.

LinkedIn

Verwandter Artikel - C Operator