Oraz operator (&) lub operator (|), XOR Operator (^), operator uzupełniający (~), operator lewy zmiana (<>).
Składnia XOR
# Zmienna1 ^ zmienna 2
Zmienna 1 to pierwszy operand, na którym ma zostać wykonana operacja. A zmienna 2 jest drugim operandem. „^” jest symbolem operatora Xor. Ten symbol jest używany między dwiema zmiennymi, na których ma być stosowane.
C ++ XOR działa
Operator XOR jest typem operatora bitowców, który ma dwa operandy i na każdym bicie tych dwóch operandy, wykonywane jest działanie XOR.
Jeśli w jakiś sposób dwa bity takich dwóch operandów są zerowe, wynikowa wartość zwrócona przez XOR wynosi zero.
Wynikowy wynosi również 0, jeśli obie wartości liczb w operantach wynoszą 0.
Podobnie wynik XOR jest jeden, jeśli i tylko wtedy, gdy dwa bity dwóch operandów wynoszą 1.
Podczas gdy zwrócona wartość wynosi tylko 1, gdy oba bity dwóch operandów są różne. Niezależnie od tego, czy pierwszy operand to 1, a drugi to zero, czy odwrotnie.
Wartość dwóch wartości operand jest przekonwertowana na wartość binarną w postaci bitu (0-1). Następnie stosujemy operację XOR do obu wartości binarnych. Ta notacja binarna jest teraz przekształcana w formę dziesiętną. Jest to wartość liczb całkowita podobna do tych wartości operandów.
Tabela prawdy dla operatora Xor
Operand a | Operand b | A ^ b |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Wdrożenie C ++ XOR
Przykład 1
Wyjaśniony jest prosty przykład wyjaśnienia pracy XOR w C ++. Musimy mieć dwie zmienne, które będą zawierać dwie wartości, na które zastosujemy funkcję XOR. Po pierwsze, biblioteka jest używana w pliku nagłówka, aby włączyć użycie strumieni CIN i Cout w programie, o którym wiadomo, że jest iostream.
#włączać
Teraz w programie głównym dwie zmienne zostaną zainicjowane z wartościami. Po pierwsze, te dwie wartości zostaną przekonwertowane na binarne notację tych liczb.
Następnie na każdym binarie zostanie zastosowana operacja XOR. Jak wiemy, 1 zostaje zwrócony, jeśli ktoś operand ma 1, w przeciwnym razie 0 zostanie zwrócone. Postępując zgodnie z tymi regułami, wynik tej wartości zostanie uzyskany. A następnie odpowiedź binarna zostanie przekształcona w notację dziesiętną.
Wartość binarna 12 to 00001100
Wartość binarna 25 to 00011001
Zastosuj operację XOR na obu wartości.
00001100
^ 00011001
_________
00010101
Jest to wartość binarna 21 w notacji dziesiętnej.
Zapisz plik z rozszerzeniem C, a następnie wykonaj go. Aby wykonać program C ++, musimy mieć kompilator języka programowania C ++. W tym celu używany jest kompilator G ++. Ten kompilator używa pliku wejściowego i wyświetla wyniki. „-O” służy do zapisywania wynikającego poziomu pliku wyjściowego.
$ g ++ -o xor xor.C
$ ./xor
Przykład 2
W tym przykładzie znajdziemy nierówną lub inną wartość między listą liczb, które nie pasują do innych elementów na liście. Jest to również zastosowanie XOR, że znajduje liczbę różną od innych. Dostarczono kilka liczb i zidentyfikowana jest dziwna liczba.
Po użyciu biblioteki iostream stworzyliśmy osobną funkcję poza głównym korpusem. Ta funkcja zwróci element nieparzysty w tablicy. Ta funkcja będzie zawierać tablicę i zmienną liczbową jako parametr, ponieważ zmienna będzie zawierać rozmiar tablicy zainicjowanej w programie głównym. Wprowadzono tutaj również zmienną, która będzie przechowywać liczbę nieparzystą obliczoną przez xor. Ponieważ wiemy, że aby uzyskać dostęp do każdego indeksu tablicy, musimy użyć pętli, która itera i przyrosty na każdym kroku.
Pętla będzie iterowana do wielkości tablicy, aw każdej iteracji zmienna obliczy liczbę nieparzystą i przechowuje ją.
Res ^= arr [i];
Wartość zostanie zwrócona do programu głównego. W programie głównym zainicjowana jest tablica z pewnymi liczbami. Rozmiar tablicy jest uzyskiwany, a następnie wywołanie funkcji jest wykonywane w instrukcji Cout, aby wyświetlić liczbę nieparzystą spośród wszystkich tych samych liczb.
Findodd (arr, n)
Zapisz powyższy kod i skompiluj go w terminalu. Zobaczysz, że numer 90 jest tym, który jest rzadki w całej tablicy.
Przykład 3
Ten przykład dotyczy połączonego użycia niektórych operatorów bitowych. Więc po skorzystaniu z biblioteki pójdziemy w kierunku programu głównego. Podobnie jak Xor, a operator OR działa na minimum dwóch wartości. Po pierwsze, zainicjujemy dwie zmienne z liczbami. W każdej operacji bitowej każda liczba zostanie najpierw przekonwertowana na wartość binarną w celu zastosowania operatorów, a następnie wyniki zostaną przekonwertowane na liczby dziesiętne, podobnie jak w poprzednim przykładzie. Teraz złożymy wniosek i operator. Według tego operatora oba operandy muszą mieć 1 wartość, aby i operator stał się prawdziwy i zwróci 1, w przypadku dowolnego 0, zwróci false.
A & B;
Zostanie uzyskana binarna wartość wynikowa, a następnie nastąpi konwersja dziesiętna. Następny to operator lub. W przypadku tej operacji bitowej tylko jeden operand musi wynosić 1, aby mógł zwrócić 1, a jeśli oba operandy wynoszą 1, to ponownie 1 zostanie zwrócony.
A | B;
Ponownie przekonwertuj binarny na wartość dziesiętną. A ostatnim operatorem jest operator XOR, dla którego wiemy, że zwraca 1, jeśli i tylko wtedy, gdy któryś z jego operandów wynosi 1. W przeciwnym razie jest to 0.
A ^ b;
Teraz zapisz i wykonaj plik. Zobaczysz, że każdy operator skutecznie pracował nad obliczeniem wynikających wartości.
Ważne fakty na temat operatorów bitowców
Operatorzy bitowców nie mogą być używane w miejscu operatorów logicznych. Ponieważ wynik operatora logicznego wynosi 1 lub 0. (Logiczni operatorzy są i lub, nie). Otrzymana wartość jest liczbą całkowitą. Wynika to z faktu, że wartość dziesiętna jest przekonwertowana na wartość binarną, a następnie ponownie, binarny jest przekształcany w wartość dziesiętną, która jest wartością liczb całkowitą.
Wniosek
Teraz podsumujemy temat „C ++ Xor”. Wyjaśniliśmy operatorów Bitwise Xor, definiując wszystkie typy. Działanie XOR jest również wyjaśnione w języku programowania C ++. Jego prace obejmują zaangażowanie tabeli prawdy, które jest również wspomniane powyżej. Uwzględniono tutaj niektóre przykłady, aby zademonstrować znajomość operatora Xor Bitwise.