logo

C++ Bitenkénti XOR operátor

  • Bitenkénti XOR operátor más néven Exkluzív VAGY
  • A használatával jelöljük '^'
  • Ahogy a név is mutatja, működik a bit szinten az operandusok közül.
  • A Bitwise XOR operátor a Bitwise operátorok kategóriájába került.
  • A bitenkénti kizárólagos VAGY operátorban (XOR) két operandusra van szükség, és ezt a két operandust az XOR szimbólum, azaz a '^' választja el.
  • Az XOR operátor két operanduson történő alkalmazása után megjelenő kimenet vagy eredmény meghatározásához követnünk kell az XOR operátor logikai igazságtáblázatát.
  • Az XOR igazságtáblázat az XOR operátor megfelelő logikájával összeállított matematikai táblázat.
  • Az XOR operátor mögött használt logika a következő; amikor XOR műveletet alkalmaznak a kettőre különböző két operandus bitjei, akkor az eredmény mindig létrejön '1', és ha az XOR műveletet alkalmazzuk a kettőre azonos két operandus bitjei, akkor az eredmény kimenetet ad '0'.

Kizárólagos VAGY (XOR) operátor igazságtáblázata

Legyen két operandus; Az első az A, a második pedig a B, a két operandus által alkotott bemenet összes kombinációja 4 lesz. A következő XOR igazságtáblázat segítségével meghatározzuk a megfelelő kimenetet. Az eredmény itt lesz C-ben rögzítve C = A ^ B.

Ebben az igazságtáblázatban a bemenetet bitek, azaz 0 és 1 formájában veszünk fel, és a kimenetet is bitek, azaz 0 és 1 formájában generáljuk.

C++ Bitenkénti XOR operátor

Itt, a fenti XOR Truth táblázatban azt figyeljük meg, hogy ha az A és B operandusok értéke eltérő, azaz ( 0, 1 ), ( 1, 0 ), akkor a kijövő eredmény mindig 1 lesz. És amikor a Az A és B operandusok értéke megegyezik, azaz ( 0, 0 ), ( 1, 1 ), a kilépő eredmény mindig 0 lesz.

Hasonlóképpen, ily módon megrajzolhatjuk az igazságtáblázatot Boolean értékek -

Legyen két operandus; az Első az A a második pedig az B . A két operandus által alkotott bemenet összes kombinációja 4 lesz. A következő XOR igazságtáblázat segítségével meghatározzuk a megfelelő kimenetet. Az eredmény C-ben lesz rögzítve, itt C = A ^ B.

Ebben az igazságtáblázatban a bemenetet igazságértékek formájában veszjük fel, azaz igaz (T) és hamis (F). A kimenet igaz értékek, azaz T és F formájában is létrejön.

C++ Bitenkénti XOR operátor

Itt, a fenti XOR Truth táblázatban azt figyeljük meg, hogy ha az A és B operandusok értéke eltérő, azaz ( F, T ), ( T, F ), az eredmény mindig T lesz. És amikor a Az A és B operandusok értéke megegyezik, azaz ( F, F ), ( T, T ), az eredmény mindig F lesz.

A fenti táblázatokból azt látjuk A T (igaz) jelölése egy, az F (hamis) pedig 0.

Lépések egy adott probléma megoldására -

  1. A feladatban megadott operandusok mindig decimális értékűek lesznek.
  2. Először is át kell alakítanunk az operandusok értékeit bináris
  3. Miután az operandusok értékét bináris számokká konvertálta, tegye egymás fölé mindkét operandust.
  4. Ne feledje, hogy mielőtt kizárólagos VAGY (XOR) műveletet alkalmazna rajtuk, kérjük, ellenőrizze a számjegyek száma bennük.
  5. Ha a számjegyek száma nem egyezik, a kis operandus bal végén lévő extra 0-k kiegyenlítik a számjegyek számát.
  6. Végül a fenti igazságtábla segítségével egyenként alkalmazzuk az XOR műveletet az operandusokon, egyenként bitenként az XOR művelet alkalmazásához.
  7. Végül az eredmény kimenet formájában jön létre.
  8. Az előállított kimenet bináris formában lesz, most alakítsa át a bináris formát decimális formává, és jegyezze fel az eredmény értékét.

Bitenkénti exkluzív VAGY (XOR) művelet végrehajtása C++ nyelven

Nézzük meg részletesebben az XOR művelet végrehajtását C++-ban példák segítségével -

1. példa: Keresse meg az egész értékek kizárólagos VAGY értékét; 10 és 14. Magyarázza is el, és írja le a végrehajtási kódot C++ nyelven.

Megoldás: Tekintsünk két változót, 'a' és 'b'-t, amelyek a fenti kérdésben megadott megfelelő két operandust, azaz a 10-et és a 14-et tárolják.

Itt a = 10 és b = 14.

Az alábbi lépéseket követve megtudjuk, hogy az adott két operandus kizárólagos VAGY.

  1. Tudjuk, hogy a 10 és 14 decimális formában van, és a bitenkénti XOR művelet alkalmazásához bináris alakra kell konvertálni.
  2. 'a' bináris alak, azaz 10 is '1010' és 'b' bináris alakja, azaz a 14 is „1110”.
  3. Itt azt látjuk, hogy az a-ban lévő bináris számjegyek száma négy, és a b-ben lévő bináris számjegyek száma szintén 4; így a két változóban lévő bináris számjegyek száma azonos és már kiegyensúlyozott, nem kell több 0-t hozzáadnunk a kiegyenlítéséhez.
  4. Most a 'b'-ben lévő bináris számjegyeket lerakjuk az 'a'-ban lévő bináris számjegyekre.
  5. Végül az XOR művelet egyenkénti alkalmazása a megfelelő bitekre illeszkedik, és jegyezze fel a kimenetet.
  6. A kapott kimenet végül bináris formában lesz, ahogy a fenti kérdés decimális formában adtuk meg, így az eredményt decimális alakra kell konvertálnunk.

Magyarázat:

a = 10 (tizedes formában)

b = 14 (tizedes formában)

Most egy XOR b esetén az a-t és a b-t bináris alakba kell konvertálnunk -

lineáris keresés java-ban

a = 1010 (bináris formában)

b = 1110 ( bináris formában )

Most XOR művelet alkalmazása a és b-re -

a = 1010

b = 1110

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

a ^ b = 0100 (Bináris formában)

A ^ b eredménye 0100, ami bináris formában van.

Most konvertálja az eredményt decimális alakra, ami 4.

10^14 = 4

MEGJEGYZÉS: A fenti XOR igazságtábla használatával a megfelelő bitek kimenete jön létre.

Most alkalmazzuk a bitenkénti XOR műveletet 10-en és 14-en C++ nyelven, és megkapjuk az eredményt, azaz a 4-et.

C++ kód a fenti példához:

 //************************ 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 } </'>

Kimenet

C++ Bitenkénti XOR operátor

2. példa: Keresse meg az egész értékek kizárólagos VAGY értékét; 3 és 15. Magyarázza el ezt is, és írja le a végrehajtási kódot C++ nyelven.

Megoldás: Tekintsünk két változót, 'a' és 'b'-t, hogy tároljuk a fenti kérdésben megadott két megfelelő operandust, azaz a 3-at és a 15-öt.

Itt a = 3 és b = 15.

jpa tavasszal

Az alábbi lépéseket követve megtudjuk, hogy az adott két operandus kizárólagos VAGY.

  1. Tudjuk, hogy a 3 és a 15 decimális formában van, és a bitenkénti XOR művelet alkalmazásához bináris alakra kell konvertálni.
  2. 'a' bináris alak, azaz a 3 is 'tizenegy' és 'b' bináris alakja, azaz 15 is „1111”.
  3. Itt megfigyelhetjük, hogy az a-ban lévő bináris számjegyek száma kettő, a b-ben lévő bináris számjegyek száma pedig négy; ezért a két változóban lévő bináris számjegyek száma nem azonos. Így, kiegyensúlyozatlan, több 0-t kell hozzáadnunk az alsó bináris szám bal oldalához, azaz az a-hoz, amely ' tizenegy' , egyensúlyba hozni.
  4. Kiegyenlítés után a értéke az '0011' , és b „1111”.
  5. Most a 'b'-ben lévő bináris számjegyeket lerakjuk az 'a'-ban lévő bináris számjegyekre.
  6. Végül az XOR művelet egyenkénti alkalmazása a megfelelő bitekre illeszkedik, és jegyezze fel a kimenetet.
  7. A kapott kimenet végül bináris formában lesz, ahogy a fenti kérdés decimális formában adtuk meg, így az eredményt decimális alakra kell konvertálnunk.

Magyarázat:

a = 3 (tizedes formában)

b = 15 (tizedes formában)

Most egy XOR b esetén az a-t és a b-t bináris alakba kell konvertálnunk -

a = 0011 ( bináris formában )

b = 1111 ( bináris formában )

Most XOR művelet alkalmazása a és b-re -

a = 0011

b = 1111

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

a ^ b = 1100 (Bináris formában)

A ^ b eredménye 1100, ami bináris formában van.

Most konvertálja az eredményt decimális alakra, ami 12.

3^15 = 12

MEGJEGYZÉS: A fenti XOR igazságtábla használatával a megfelelő bitek kimenete jön létre.

Most alkalmazzuk a bitenkénti XOR műveletet a 3-as és a 15-ös C++ nyelven, és megkapjuk az eredményt, azaz a 12-t.

hogyan szerezhetek iphone hangulatjeleket androidon

C++ kód a fenti példához:

 //************************ 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 } </'>

Kimenet

C++ Bitenkénti XOR operátor