Operace C++ XOR

Operace C Xor



Programování v C++ poskytuje různé bitové operátory jako AND, OR, NOT, XOR atd. Pro práci s danými daty na bitové úrovni využíváme bitové operátory v programovacím jazyce C++. Operátor „XOR“ (^) v C++ provádí proces XOR na každém bitu ze dvou operandů. Pokud jsou dva bity odlišné, je výsledek XOR 1; pokud jsou oba stejné, výsledek je 0. Zde budeme studovat operátor „XOR“ v programování v C++.

Příklad 1:

Kód zde začíná zahrnutím souboru záhlaví „iostream“. Jak název napovídá, tento hlavičkový soubor je určen pro vstupní a výstupní funkce, protože tyto funkce jsou v něm deklarovány. Pak máme „jmenný prostor std“, ve kterém jsou tyto funkce definovány.

Níže zavoláme metodu „main()“. Inicializujeme proměnnou „x“ typu „int“ a tomuto „x“ přiřadíme „10“. Pak máme další proměnnou „y“ datového typu „int“ a přiřadíme „6“. Poté inicializujeme „r“ datového typu „int“. Zde aplikujeme operaci „XOR“ na hodnoty proměnných „x“ a „y“ umístěním operátoru „^“ mezi tyto proměnné. Tento operátor „XOR“ převádí celočíselné hodnoty na binární, aplikuje operaci „XOR“ na binární hodnoty a výsledek uloží jako celočíselnou hodnotu. Výsledek tohoto operátoru „XOR“ je nyní uložen v „r“.







Poté zobrazíme hodnoty těchto proměnných samostatně a následně zobrazíme výsledek, který získáme po aplikaci operátoru „XOR“ pomocí „cout“.



Kód 1:

#include

pomocí jmenného prostoru 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átit se 0 ;

}

Výstup:



Protože binární hodnota „10“ je „1010“ a binární hodnota „6“ je „0110“, vrátí po použití operátoru „XOR“ „12“ a „1100“ je binární hodnota „12“. To ukazuje, že vrací „1“, kde jsou oba vstupy různé, a vrací „0“, kde jsou oba vstupy stejné.





Příklad 2:

Po přidání hlavičkového souboru „iostream“ a jmenného prostoru „std“ vyvoláme metodu „main()“. Poté inicializujeme dvě proměnné, „X1“ a „X2“, a těmto proměnným přiřadíme celočíselné hodnoty „21“ a „35“. Poté vytiskneme hodnoty obou proměnných. Poté na tyto celočíselné hodnoty aplikujeme operátor „XOR“. Tuto operaci „XOR“ aplikujeme na tyto proměnné „X1“ a „X2“ uvnitř „cout“. Výsledek tohoto „XOR“ se tedy zobrazí také jako výsledek.



Kód 2:

#include

pomocí jmenného prostoru std ;

int hlavní ( ) {

int X1 = dvacet jedna , X2 = 35 ;

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

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

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

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

vrátit se 0 ;

}

Výstup:

První celočíselná hodnota je „21“ a druhá je „35“. Po použití operace „XOR“ získáme výsledek „54“, který je zde zobrazen.

Příklad 3:

Po přidání hlavičkového souboru „iostream“ a jmenného prostoru „std“ voláme metodu „main()“. Proměnná „n1“ typu „int“ je inicializována a je jí přiřazeno „29“. Dále přiřadíme „75“ další proměnné „n2“, která je datového typu „int“. Dále inicializujeme hodnotu „r1“ a také hodnotu datového typu „int“.

Dále aplikujeme operaci „XOR“ na hodnoty proměnných „n1“ a „n2“ tak, že mezi ně vložíme operátor „^“. Celočíselné hodnoty jsou převedeny na binární pomocí tohoto operátoru „XOR“, který pak aplikuje operaci „XOR“ na binární data a uloží výsledek jako celočíselnou hodnotu. Proměnná „r1“ nyní obsahuje výsledek této operace „XOR“. Hodnoty každé z těchto proměnných jsou pak zobrazeny samostatně. Ukážeme také výsledek použití operátoru „XOR“ s pomocí operátora „cout“.

Kód 3:

#include

pomocí jmenného prostoru std ;

int hlavní ( )

{

int n1 = 29 ;

int n2 = 75 ;

int r1 = n1 ^ n2 ;

cout << 'První hodnota:' << n1 << endl ;

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

cout << 'Výsledek operátoru XOR je: ' << r1 << endl ;

vrátit se 0 ;

}

Výstup:

Vstupní celá čísla jsou „29“ a „75“, která jsou převedena na binární. Poté se na ně použije operace „XOR“. Po aplikaci „XOR“ je výsledek „86“.

Příklad 4:

V tomto kódu získáme vstup od uživatele a poté použijeme operaci „XOR“ na vstupní hodnoty uživatele. Tyto tři proměnné jsou zde deklarovány s názvy „Xvalue1“, „Xvalue2“ a „Xvalue3“. Poté umístíme „cout“ a zobrazíme zprávu „Sem zadejte dvě hodnoty“.

Po zobrazení této zprávy uživatel zadá hodnoty, které získáme pomocí cinu. Pod toto tedy umístíme „cin“. Obě hodnoty jsou nyní uloženy v těchto proměnných a jsou zde také zobrazeny. Nyní musíme použít operaci „XOR“, takže mezi proměnné „Xvalue1“ a „Xvalue2“ vložíme operátor „^“.

Nyní je tato operace „XOR“ aplikována na hodnoty těchto proměnných. Výsledek tohoto operátoru „XOR“ se pak uloží do proměnné „Xvalue3“. Zobrazujeme jej také metodou „cout“.

Kód 4:

#include

pomocí jmenného prostoru std ;

int hlavní ( )

{

int Xhodnota1 , Xvalue2 , Xhodnota3 ;

cout << 'Sem zadejte hodnoty dvě hodnoty: ' << endl ;

cout << 'Xvalue1:' ;

jíst >> Xhodnota1 ;

cout << 'Xvalue2:' ;

jíst >> Xvalue2 ;

Xhodnota3 = Xhodnota1 ^ Xvalue2 ;

cout << ' \n Nyní, po použití XOR na obě hodnoty: ' << endl ;

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

}

Výstup:

Když tento kód spustíme, vypíše zprávu pro zadání dvou hodnot. Zadáme tedy „14“ jako hodnotu proměnné „Xvalue1“ a „45“ jako hodnotu proměnné „Xvalue2“. Poté stiskneme „Enter“. Na tyto hodnoty je pak aplikována operace „XOR“, která převede obě hodnoty na binární a poté zde zobrazí výsledek.

Příklad 5:

Tuto operaci „XOR“ aplikujeme na znaková data. Inicializujeme dvě proměnné „char“ s názvy „ch_a“ a „ch_b“. Těmto proměnným přiřadíme „a“ a „8“. Poté umístíme operátor „^“ mezi „ch_a“ a „ch_b“ a přiřadíme jej k proměnné „ch_result“, která je také datovým typem „char“. Tyto znaky jsou převedeny na binární a výsledek je uložen do proměnné „ch_result“. Poté vytiskneme obě proměnné a výsledek této operace „XOR“.

Kód 5:

#include

pomocí jmenného prostoru std ;

int hlavní ( ) {

char ch_a = 'A' ;

char ch_b = '8' ;

char ch_result = ch_a ^ ch_b ;

cout << 'První znak je:' << ch_a << endl ;

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

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

}

Výstup:

Vstupní znaky jsou „a“ a „8“ a výsledek „XOR“ se zobrazí jako „Y“, které získáme po použití operace „XOR“, která převede „a“ a „8“ na binární a poté provede „ operace XOR“.

Závěr

Operace „XOR“ je zde důkladně prozkoumána a vysvětlili jsme, že se jedná o „bitovou“ operaci, protože využívá binární hodnoty. Diskutovali jsme o tom, že všechny hodnoty, které jsme zadali pro použití operace „XOR“, se převedou na binární hodnoty a poté se provede operace „XOR“. Předvedli jsme několik příkladů a ukázali, jak funguje operace „XOR“ v programování v C++.