C ++ xor

C ++ xor
XOR ist eine Art Bitgewise -Operator. Die Bitgewise -Operatoren sind die Vergleichsbetreiber, die die Bytes der Operandenwerte in der Binärnotation vergleichen. Der XOR -Operator ist derjenige, der die beiden Operanden enthält. Dieser Vorgang wird auf den Ganzzahlwert angewendet. Es gibt fast sechs Bitgewise -Operatoren in C++.

Und Operator (&) oder Operator (|), XOR -Operator (^), Komplement -Operator (~), Verschiebung des linken Operators (<>).

Syntax von XOR

# Variable1 ^ variable2

Variable 1 ist der erste Operand, an dem der Betrieb durchgeführt werden soll. Und Variable 2 ist der zweite Operand. '^' ist das Symbol des XOR -Operators. Dieses Symbol wird zwischen den beiden Variablen verwendet, auf die der XOR -Betrieb angewendet werden soll.

C ++ Xor arbeiten

Der XOR -Bediener ist der Typ des Bitgewise -Operators, der zwei Operanden hat, und an jedem Bit dieser beiden Operanden wird der Betrieb von XOR durchgeführt.

Wenn die beiden Bits solcher Operanden irgendwie Null sind, ist der resultierende Wert, der vom XOR zurückgegeben wird.

Der Ergebnis beträgt auch 0, wenn beide Werte der Zahlen in Operanden 0 betragen.

In ähnlicher Weise ist das Ergebnis von XOR nur dann eins, wenn die beiden Bits von zwei Operanden 1 sind.

Während der zurückgegebene Wert nur 1 beträgt, wenn beide Bits von zwei Operanden unterschiedlich sind. Ob der erste Operand 1 ist und der zweite ist Null oder umgekehrt.

Der Wert von zwei Operandenwerten wird in Form von (0-1) Bit in den Binärwert umgewandelt. Danach wenden wir den XOR -Betrieb auf beiden Binärwerten an. Diese binäre Notation wird jetzt in Dezimalform umgewandelt. Dies ist der ganzzahlige Wert, der diesen Werten der Operanden ähnelt,.

Die Wahrheitstabelle für den XOR -Operator

Operand a Operanden b A ^ b
0 0 0
0 1 1
1 0 1
1 1 0

Implementierung von C ++ xor

Beispiel 1

Ein einfaches Beispiel zur Erklärung der Arbeit von XOR in C ++ wird hier erklärt. Wir müssen zwei Variablen haben, die zwei Werte enthalten, auf die wir die XOR -Funktion anwenden werden. Erstens wird die Bibliothek in der Header -Datei verwendet, um die Verwendung von CIN- und Cout -Streams im Programm zu ermöglichen, das als iSstream bekannt ist.

#enthalten

Jetzt im Hauptprogramm werden die beiden Variablen mit den Werten initialisiert. Erstens werden diese beiden Werte in die binäre Notation dieser Zahlen umgewandelt.

Dann wird bei jedem Binär die XOR -Operation angewendet. Wie wir wissen, dass 1 zurückgegeben wird, wenn jemand Operand 1 ist, sonst wird 0 zurückgegeben. Durch die Befolgung dieser Regeln wird das Ergebnis dieses Wertes erhalten. Und dann wird die binäre Antwort in Dezimalnotation umgewandelt.

Der binäre Wert von 12 ist 00001100

Der binäre Wert von 25 beträgt 00011001

Wenden Sie den XOR -Betrieb auf beide Werte an.

00001100
^ 00011001
_________
00010101

Dies ist der binäre Wert von 21 in der Dezimalnotation.

Speichern Sie die Datei mit der Erweiterung von C und führen Sie sie dann aus. Um ein C ++ - Programm auszuführen, müssen wir einen Compiler einer C ++ - Programmiersprache haben. Zu diesem Zweck wird ein G ++ - Compiler verwendet. Dieser Compiler verwendet eine Eingabedatei und zeigt die Ergebnisse an. '-O' wird verwendet, um das Ergebnis in der Ausgabedatei zu speichern.

$ g ++ -o xor xor.C
$ ./xor

Beispiel 2

In diesem Beispiel finden wir einen ungleichmäßigen oder einen anderen Wert in der Liste der Zahlen, die nicht mit den anderen Elementen in der Liste übereinstimmen. Es ist auch eine Anwendung von XOR, dass es die Zahl findet, die sich von anderen unterscheidet. Es werden einige Zahlen bereitgestellt und eine ungerade auftretende Zahl wird identifiziert.

Nachdem wir die iOstream -Bibliothek verwendet haben, haben wir eine separate Funktion außerhalb des Hauptkörpers erstellt. Diese Funktion gibt das merkwürdige Element im Array zurück. Diese Funktion enthält das Array und die Ganzzahlvariable als Parameter, da die Variable die Größe des im Hauptprogramms initialisierten Array enthält. Hier wird auch eine Variable eingeführt, die die von XOR berechnete ungerade Zahl speichert. Da wir wissen, dass wir, um auf jeden Index des Arrays zuzugreifen.

Die Schleife wird bis zur Größe eines Arrays iteriert, und in jeder Iteration berechnet die Variable die ungerade Zahl und speichert sie.

Res ^= arr [i];
Der Wert wird an das Hauptprogramm zurückgegeben. Im Hauptprogramm wird ein Array mit einigen Zahlen initialisiert. Die Größe des Arrays wird erhalten und dann wird in der Cout -Anweisung ein Funktionsaufruf erfolgt, um die ungerade Zahl unter allen gleichen Zahlen anzuzeigen.

Findodd (arr, n)
Speichern Sie den obigen Code und kompilieren Sie ihn im Terminal. Sie werden sehen, dass die Nummer 90 diejenige ist, die im gesamten Array ungewöhnlich ist.

Beispiel 3

In diesem Beispiel handelt es sich um die kombinierte Verwendung einiger bitialer Operatoren. Nachdem wir die Bibliothek benutzt haben, werden wir uns auf das Hauptprogramm einlassen. Genau wie Xor und der oder der Operator funktioniert minimal auf zwei Werten. Erstens werden wir zwei Variablen mit den Zahlen initialisieren. In jeder bitgewiären Operation wird jede Zahl zuerst in den Binärwert umgewandelt, um die Operatoren anzuwenden, und dann werden die Ergebnisse in Dezimalzahlen umgewandelt, wie wir es im vorherigen Beispiel getan haben. Jetzt werden wir uns bewerben und Betreiber. Laut diesem Betreiber müssen beide Operanden 1 Wert haben, damit der und der Bediener wahr werden und 1 zurückgibt. Im Fall von 0 gibt es false zurück.

A & b;
Ein binärer resultierender Wert wird erhalten, und dann wird die Dezimalumwandlung befolgt. Der nächste ist der oder Operator. Für diesen bitiden Betrieb darf nur ein einzelner Operand 1 sein, damit er 1 zurückgeben kann. Wenn beide Operanden 1 sind, wird 1 wieder zurückgegeben.

A | B;
Umwandeln Sie die Binärdauer wieder in den Dezimalwert. Und der letzte Operator ist der XOR -Bediener, für den wir wissen, dass er 1 zurückgibt, wenn ein seiner Operanden 1 ist. Ansonsten ist es 0.

A ^ b;
Speichern und führen Sie nun die Datei auf und führen Sie sie aus. Sie werden sehen, dass jeder Bediener effektiv daran gearbeitet hat, die resultierenden Werte zu berechnen.

Wichtige Fakten über Bitgewise -Operatoren

Die bitgewiellen Operatoren dürfen nicht an der Stelle der logischen Operatoren verwendet werden. Weil das Ergebnis des logischen Operators 1 oder 0 beträgt. (logische Operatoren sind und oder, nicht). Der erhaltene Wert ist eine Ganzzahl. Dies liegt daran.

Abschluss

Jetzt werden wir das Thema "C ++ Xor" zusammenfassen. Wir haben die bitimen XOR -Operatoren erklärt, indem wir alle Arten definiert haben. Die Arbeit von XOR wird auch in der C ++ - Programmiersprache erklärt. Seine Arbeit beinhaltet die Beteiligung der Wahrheitstabelle, die auch oben erwähnt wird. Einige Beispiele sind hier enthalten, um das Wissen des XOR -Bitgewise -Operators zu demonstrieren.