Logischer XOR-Operator in C
-
eine Übersicht über den XOR-Operator (
^
) in C -
Verwenden Sie
^
, um XOR in der Programmiersprache C anzuwenden - Wenden Sie XOR in der Programmiersprache C an
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
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