Operácia C++ XOR

Operacia C Xor



Programovanie v C++ poskytuje rôzne bitové operátory ako AND, OR, NOT, XOR atď. Na prácu s danými dátami na bitovej úrovni využívame bitové operátory v programovacom jazyku C++. Operátor „XOR“ (^) v C++ vykoná proces XOR na každom bite z dvoch operandov. Ak sú dva bity odlišné, výsledok XOR je 1; ak sú oba rovnaké, výsledok je 0. Tu budeme študovať operátor „XOR“ v programovaní v C++.

Príklad 1:

Kód tu začína zahrnutím súboru hlavičky „iostream“. Ako už názov napovedá, tento hlavičkový súbor je určený pre vstupné a výstupné funkcie, keďže tieto funkcie sú v ňom deklarované. Potom máme „namespace std“, v ktorom sú tieto funkcie definované.

Nižšie nazývame metódu „main()“. Inicializujeme premennú „x“ typu „int“ a tomuto „x“ priradíme „10“. Potom máme ďalšiu premennú „y“ dátového typu „int“ a priradíme jej „6“. Potom inicializujeme „r“ dátového typu „int“. Tu aplikujeme operáciu „XOR“ na hodnoty premenných „x“ a „y“ umiestnením operátora „^“ medzi tieto premenné. Tento operátor „XOR“ konvertuje celočíselné hodnoty na binárne, aplikuje operáciu „XOR“ na binárne hodnoty a výsledok uloží ako celočíselné hodnoty. Výsledok tohto operátora „XOR“ je teraz uložený v „r“.







Potom zobrazíme hodnoty týchto premenných samostatne a následne zobrazíme výsledok, ktorý získame po použití operátora „XOR“ pomocou „cout“.



Kód 1:

#include

pomocou menného priestoru std ;

int Hlavná ( ) {

int X = 10 ;

int a = 6 ;

int r = X ^ a ;

cout << 'Hodnota x: ' << X << endl ;

cout << 'Hodnota y: ' << a << endl ;

cout << 'XOR x ^ y = ' << r << endl ;

vrátiť 0 ;

}

Výkon:



Keďže binárna hodnota „10“ je „1010“ a binárna hodnota „6“ je „0110“, po použití operátora „XOR“ vráti „12“ a „1100“ je binárna hodnota „12“. To ukazuje, že vráti „1“, kde sú oba vstupy odlišné, a vráti „0“, kde sú oba vstupy rovnaké.





Príklad 2:

Po pridaní hlavičkového súboru „iostream“ a menného priestoru „std“ vyvoláme metódu „main()“. Potom inicializujeme dve premenné „X1“ a „X2“ a týmto premenným priradíme celočíselné hodnoty „21“ a „35“. Potom vytlačíme hodnoty oboch premenných. Potom na tieto celočíselné hodnoty aplikujeme operátor „XOR“. Túto operáciu „XOR“ aplikujeme na tieto premenné „X1“ a „X2“ vo vnútri „cout“. Výsledok tohto „XOR“ sa teda zobrazí aj ako výsledok.



Kód 2:

#include

pomocou menného priestoru std ;

int Hlavná ( ) {

int X1 = dvadsaťjeden , X2 = 35 ;

cout << 'Hodnota X1 = ' << X1 << endl ;

cout << 'Hodnota X2 = ' << X2 << endl ;

cout << 'Výsledok XOR je: ' << endl ;

cout << 'X1^X2 = ' << ( X1 ^ X2 ) << endl ;

vrátiť 0 ;

}

Výkon:

Prvá celočíselná hodnota je „21“ a druhá je „35“. Po použití operácie „XOR“ dostaneme výsledok „54“, ktorý je tu zobrazený.

Príklad 3:

Metódu „main()“ zavoláme po pridaní hlavičkového súboru „iostream“ a menného priestoru „std“. Premenná „n1“ typu „int“ sa inicializuje a priradí sa jej „29“. Ďalej priradíme „75“ ďalšej premennej „n2“, ktorá je dátového typu „int“. Ďalej inicializujeme hodnotu „r1“, ako aj údajového typu „int“.

Ďalej aplikujeme operáciu „XOR“ na hodnoty premenných „n1“ a „n2“ umiestnením operátora „^“ medzi ne. Celočíselné hodnoty sa skonvertujú na binárne pomocou tohto operátora „XOR“, ktorý potom aplikuje operáciu „XOR“ na binárne dáta a výsledok uloží ako celočíselné hodnoty. Premenná „r1“ teraz obsahuje výsledok tejto operácie „XOR“. Hodnoty každej z týchto premenných sú potom zobrazené samostatne. Ukážeme tiež výsledok používania operátora „XOR“ s pomocou operátora „cout“.

Kód 3:

#include

pomocou menného priestoru std ;

int Hlavná ( )

{

int n1 = 29 ;

int n2 = 75 ;

int r1 = n1 ^ n2 ;

cout << 'Prvá hodnota:' << n1 << endl ;

cout << 'Druhá hodnota:' << n2 << endl ;

cout << 'Výsledok operátora XOR je: ' << r1 << endl ;

vrátiť 0 ;

}

Výkon:

Vstupné celé čísla sú „29“ a „75“, ktoré sú prevedené na binárne. Potom sa na ne použije operácia „XOR“. Po aplikácii „XOR“ je výsledok „86“.

Príklad 4:

V tomto kóde získame vstup od používateľa a potom použijeme operáciu „XOR“ na vstupné hodnoty používateľa. Tri premenné sú tu deklarované s názvami „Xvalue1“, „Xvalue2“ a „Xvalue3“. Potom umiestnime „cout“ a zobrazíme správu „Sem zadajte dve hodnoty“.

Po zobrazení tejto správy používateľ zadá hodnoty, ktoré získame pomocou cinu. Takže pod toto umiestnime „cin“. Obidve hodnoty sú teraz uložené v týchto premenných a sú tu aj zobrazené. Teraz musíme použiť operáciu „XOR“, takže medzi premenné „Xvalue1“ a „Xvalue2“ vložíme operátor „^“.

Teraz sa táto operácia „XOR“ aplikuje na hodnoty týchto premenných. Výsledok tohto operátora „XOR“ sa potom uloží do premennej „Xvalue3“. Zobrazujeme ho aj metódou „cout“.

Kód 4:

#include

pomocou menného priestoru std ;

int Hlavná ( )

{

int Xvalue1 , Xvalue2 , Xvalue3 ;

cout << 'Sem zadajte hodnoty dve hodnoty: ' << endl ;

cout << 'Xvalue1: ' ;

jedenie >> Xvalue1 ;

cout << 'Xvalue2: ' ;

jedenie >> Xvalue2 ;

Xvalue3 = Xvalue1 ^ Xvalue2 ;

cout << ' \n Teraz, po použití XOR na obe hodnoty: ' << endl ;

cout << 'Xvalue1 ^ Xvalue2 = ' << Xvalue3 << endl ;

}

Výkon:

Keď vykonáme tento kód, vypíše správu na zadanie dvoch hodnôt. Zadáme teda „14“ ako hodnotu premennej „Xvalue1“ a „45“ ako hodnotu premennej „Xvalue2“. Potom stlačíme „Enter“. Na tieto hodnoty sa potom aplikuje operácia „XOR“, ktorá prevedie obe hodnoty na binárne a potom tu zobrazí výsledok.

Príklad 5:

Túto operáciu „XOR“ aplikujeme na znakové dáta. Inicializujeme dve premenné „char“ s názvami „ch_a“ a „ch_b“. Týmto premenným priradíme „a“ a „8“. Potom umiestnime operátor „^“ medzi „ch_a“ a „ch_b“ a priradíme ho premennej „ch_result“, ktorá je tiež typom údajov „char“. Tieto znaky sa skonvertujú na binárne a výsledok sa uloží do premennej „ch_result“. Potom vytlačíme obe premenné a výsledok tejto operácie „XOR“.

Kód 5:

#include

pomocou menného priestoru std ;

int Hlavná ( ) {

char ch_a = 'a' ;

char ch_b = '8' ;

char ch_result = ch_a ^ ch_b ;

cout << 'Prvý znak je:' << ch_a << endl ;

cout << 'Druhá postava je:' << ch_b << endl ;

cout << 'Výsledok je:' << ch_result << endl ;

}

Výkon:

Vstupné znaky sú „a“ a „8“ a výsledok „XOR“ sa zobrazí ako „Y“, ktorý získame po použití operácie „XOR“, ktorá prevedie „a“ a „8“ na binárne a potom vykoná „ operácia XOR“.

Záver

Operácia „XOR“ je tu dôkladne preskúmaná a vysvetlili sme, že ide o „bitovú“ operáciu, pretože využíva binárne hodnoty. Diskutovali sme o tom, že všetky hodnoty, ktoré sme zadali na použitie operácie „XOR“, sa skonvertujú na binárne hodnoty a potom sa vykoná operácia „XOR“. Predviedli sme niekoľko príkladov a ukázali, ako funguje operácia „XOR“ v programovaní v C++.