logo

Operátor bitového XOR C++

  • Bitový operátor XOR je také známý jako Exkluzivní OR
  • Označuje se pomocí '^'
  • Jak název napovídá, funguje na bitová úroveň z operandů.
  • Operátor Bitwise XOR spadá do kategorie bitových operátorů.
  • V bitovém exkluzivním operátoru OR (XOR) jsou vyžadovány dva operandy a tyto dva operandy jsou odděleny symbolem XOR, tj. '^'.
  • Abychom určili výstup nebo výsledek, který vyjde po aplikaci operátoru XOR na dva operandy, musíme se řídit tabulkou logické pravdivosti operátoru XOR.
  • XOR Truth Table je matematická tabulka vytvořená pomocí správné logiky operátoru XOR.
  • Logika použitá za operátorem XOR je; kdykoli je na dva aplikována operace XOR odlišný bitů dvou operandů, pak výsledek vždy vytvoří '1', a pokud je na dva aplikována operace XOR stejný bitů dvou operandů, pak výsledek produkuje výstup '0'.

Pravdivostní tabulka výhradního operátoru OR (XOR).

Nechť jsou dva operandy; První je A a druhý B, celkové kombinace vstupu tvořené těmito dvěma operandy budou 4. Pomocí následující pravdivostní tabulky XOR určíme odpovídající výstup. Výsledek bude zachycen v C zde C = A ^ B.

V této pravdivostní tabulce bereme vstup ve formě bitů, tj. 0 a 1, a výstup bude také generován ve formě bitů, tj. 0 a 1.

Operátor bitového XOR C++

Zde ve výše uvedené tabulce pravdy XOR pozorujeme, že když jsou hodnoty operandů A a B různé, tj. ( 0, 1 ), ( 1, 0 ), výsledek, který vyjde, bude vždy 1. A když hodnoty operandů A a B jsou stejné, tj. ( 0, 0 ), ( 1, 1 ), výsledek, který vyjde, bude vždy 0.

Podobně můžeme tímto způsobem nakreslit pravdivostní tabulku pro Boolean hodnoty -

Nechť jsou dva operandy; ten první je A a ten druhý je B . Celkové kombinace vstupu tvořené těmito dvěma operandy budou 4. Pomocí následující pravdivostní tabulky XOR určíme odpovídající výstup. Výsledek bude zachycen v C, zde C = A ^ B.

V této pravdivostní tabulce bereme vstup ve formě hodnot pravdy, tj. True (T) a False (F). Výstup bude také generován ve formě skutečných hodnot, tj. T a F.

Operátor bitového XOR C++

Zde ve výše uvedené tabulce pravdy XOR pozorujeme, že když jsou hodnoty operandů A a B různé, tj. (F, T), (T, F), výsledek bude vždy T. hodnoty operandů A a B jsou stejné, tj. ( F, F ), ( T, T ), výsledkem bude vždy F.

Z výše uvedených tabulek to vidíme T ( True ) je označeno jedničkou a F ( False ) je označeno 0.

skener v Javě

Kroky k vyřešení daného problému -

  1. Operandy uvedené v problému budou vždy v desítkové hodnotě.
  2. Nejprve musíme převést hodnoty operandů na binární
  3. Po převodu hodnot operandů na binární čísla umístěte oba operandy jeden přes druhý.
  4. Pamatujte, že před použitím operace výhradního OR (XOR) na ně laskavě zkontrolujte počet číslic v nich.
  5. Pokud se počet číslic neshoduje, nuly navíc na levém konci malého operandu vyvažují počty číslic.
  6. Nakonec s pomocí výše uvedené pravdivostní tabulky aplikujte operaci XOR na operandy jeden po druhém, přičemž pro aplikaci operace XOR berte jeden bit po druhém.
  7. Nakonec se výsledek vytvoří ve formě výstupu.
  8. Produkovaný výstup bude v binární formě, nyní převeďte binární formu do desítkové formy a poznamenejte si výslednou hodnotu.

Provedení operace Bitwise Exclusive OR (XOR) v C++

Podívejme se podrobněji na provádění operace XOR v C++ pomocí příkladů -

Příklad 1: Najděte výhradní OR celočíselných hodnot; 10 a 14. Také to vysvětlete a napište kód provádění v C++.

Řešení: Uvažujme dvě proměnné, 'a' a 'b', abychom uložili odpovídající dva operandy uvedené ve výše uvedené otázce, tj. 10 a 14.

Zde a = 10 a b = 14.

Budeme postupovat podle níže uvedených kroků, abychom zjistili exkluzivní OR daných dvou operandů.

  1. Víme, že 10 a 14 jsou v desítkovém tvaru a pro aplikaci bitové operace XOR je nutné je převést do binárního tvaru.
  2. Binární forma 'a', tj. 10 je '1010' a binární forma 'b', tj. 14 je '1110'.
  3. Zde pozorujeme, že počet binárních číslic přítomných v a je čtyři a počet binárních číslic přítomných v b je také 4; proto je počet binárních číslic přítomných v obou proměnných stejný a již vyvážený, nepotřebujeme přidávat další počet 0, abychom to vyrovnali.
  4. Nyní položme binární číslice přítomné v 'b' dolů na binární číslice přítomné v 'a'.
  5. Nakonec použijte operaci XOR jeden po druhém na odpovídající bity a poznamenejte si výstup.
  6. Výstup vygenerovaný konečně bude v binární podobě, jak byla výše uvedená otázka uvedena v desítkovém tvaru, takže musíme výsledek převést do desítkové formy.

Vysvětlení:

a = 10 ( v desítkovém tvaru )

sloučit řazení java

b = 14 ( v desítkovém tvaru )

Nyní pro XOR b potřebujeme převést a a b v binární podobě -

a = 1010 (v binárním tvaru)

b = 1110 (v binárním tvaru)

Nyní použití operace XOR na a a b -

a = 1010

b = 1110

----------------

a ^ b = 0100 (V binární podobě)

Výsledek a ^ b je 0100, což je v binárním tvaru.

linuxový správce úloh

Nyní převedeme výsledek do desítkové formy, což je 4.

10^14 = 4

POZNÁMKA: Pomocí výše uvedené pravdivostní tabulky XOR se generují odpovídající bity.

Nyní použijeme bitovou operaci XOR na 10 a 14 v jazyce C++ a dostaneme výsledek, tedy 4.

C++ kód pro výše uvedený příklad:

 //************************ C++ Code ****************************** #include using namespace std; int main () { int a, b, c ; // Initializing integer variables to store data values cout <' << endl ; cout <> a ; // taking a as input from user cout &lt;&gt; b ; // taking b as input from user c = a ^ b ; // storing XOR result of a and b in c cout &lt;&lt; &apos;Applying XOR operation on a and b: &apos;&lt;&lt; endl ; cout &lt;&lt; &apos;a ^ b = &apos; &lt;&lt; c &lt;&lt; endl ; // Printing the output } </'>

Výstup

Operátor bitového XOR C++

Příklad 2: Najděte výhradní OR celočíselných hodnot; 3 a 15. Také to vysvětlete a napište kód provádění v C++.

Řešení: Uvažujme dvě proměnné, 'a' a 'b', abychom uložili odpovídající dva operandy uvedené ve výše uvedené otázce, tj. 3 a 15.

Zde a = 3 a b = 15.

Budeme postupovat podle níže uvedených kroků, abychom zjistili exkluzivní OR daných dvou operandů.

  1. Víme, že 3 a 15 jsou v desítkovém tvaru a pro aplikaci bitové operace XOR je nutné je převést do binárního tvaru.
  2. Binární forma 'a', tj. 3 je 'jedenáct' a binární forma 'b', tj. 15 je '1111'.
  3. Zde uvidíme, že počet binárních číslic přítomných v a je dvě a počet binárních číslic přítomných v b je čtyři; proto počet binárních číslic přítomných v obou proměnných není stejný. Nevyvážení tedy potřebujeme přidat další počet nul na levou stranu nižšího binárního čísla, tj. a, což je ' jedenáct' , abych to vyvážil.
  4. Po vyrovnání je hodnota a '0011' a b je '1111'.
  5. Nyní polož binární číslice přítomné v 'b' dolů na binární číslice přítomné v 'a'.
  6. Nakonec použijte operaci XOR jeden po druhém na odpovídající bity a poznamenejte si výstup.
  7. Výstup vygenerovaný konečně bude v binární podobě, jak byla výše uvedená otázka uvedena v desítkovém tvaru, takže musíme výsledek převést do desítkové formy.

Vysvětlení:

a = 3 ( v desítkovém tvaru )

b = 15 ( v desítkovém tvaru )

Nyní pro XOR b potřebujeme převést a a b v binární podobě -

java int v řetězci

a = 0011 (v binárním tvaru)

amplitudové modulace

b = 1111 (v binárním tvaru)

Nyní použití operace XOR na a a b -

a = 0011

b = 1111

----------------

a ^ b = 1100 (V binární podobě)

Výsledek a ^ b je 1100, což je v binárním tvaru.

Nyní převedeme výsledek do desítkové formy, což je 12.

3^15 = 12

POZNÁMKA: Pomocí výše uvedené pravdivostní tabulky XOR se generují odpovídající bity.

Nyní použijeme bitovou operaci XOR na 3 a 15 v jazyce C++ a získáme výsledek, tedy 12.

C++ kód pro výše uvedený příklad:

 //************************ C++ Code ****************************** #include using namespace std; int main () { int a, b, c ; // Initializing integer variables to store data values cout <' << endl ; cout <> a ; // taking a as input from user cout &lt;&gt; b ; // taking b as input from user c = a ^ b ; // storing XOR result of a and b in c cout &lt;&lt; &apos;Applying XOR operation on a and b: &apos;&lt;&lt; endl ; cout &lt;&lt; &apos;a ^ b = &apos; &lt;&lt; c &lt;&lt; endl ; // Printing the output } </'>

Výstup

Operátor bitového XOR C++