logo

C++ Bitwise XOR operators

  • Bitwise XOR operators ir pazīstams arī kā Ekskluzīvs VAI
  • To apzīmē, izmantojot '^'
  • Kā norāda nosaukums, tas darbojas uz bitu līmenī no operandiem.
  • Bitwise XOR operators ir iekļauts Bitwise operatoru kategorijā.
  • Bitu izteiksmē ekskluzīvajā VAI operatorā (XOR) ir nepieciešami divi operandi, un šie divi operandi ir atdalīti ar XOR simbolu, t.i., “^”.
  • Lai noteiktu izvadi vai rezultātu, kas parādās pēc XOR operatora pielietošanas diviem operandiem, mums ir jāievēro XOR operatora loģiskās patiesības tabula.
  • XOR patiesības tabula ir matemātiska tabula, kas izveidota, izmantojot pareizu XOR operatora loģiku.
  • Aiz XOR operatora izmantotā loģika ir; ikreiz, kad abiem tiek piemērota operācija XOR savādāk divu operandu biti, tad rezultāts vienmēr radīsies '1', un ja operācija XOR tiek piemērota abiem tas pats divu operandu biti, tad rezultāts rada izvadi '0'.

Ekskluzīva VAI (XOR) operatora patiesības tabula

Lai ir divi operandi; Pirmais ir A un otrais ir B, šo divu operandu kopējās ievades kombinācijas būs 4. Izmantojot sekojošo XOR patiesības tabulu, mēs noteiksim atbilstošo izvadi. Rezultāts tiks uzņemts C formātā, šeit C = A ^ B.

Šajā patiesības tabulā mēs ņemam ievadi bitu veidā, t.i., 0 un 1, un izvade tiks ģenerēta arī bitu veidā, t.i., 0 un 1.

C++ Bitwise XOR operators

Šeit, augstāk esošajā XOR patiesības tabulā, mēs novērojam, ka, ja operanda A un B vērtības ir atšķirīgas, t.i., ( 0, 1 ), ( 1, 0 ), rezultāts vienmēr būs 1. Un, kad operandu A un B vērtības ir vienādas, t.i., ( 0, 0 ), ( 1, 1 ), iznākušais rezultāts vienmēr būs 0.

Līdzīgi, šādā veidā mēs varam izveidot patiesības tabulu Būla vērtības -

Lai ir divi operandi; pirmais ir A un otrais ir B . Kopējās ieejas kombinācijas, ko veido šie divi operandi, būs 4. Izmantojot sekojošo XOR patiesības tabulu, mēs noteiksim atbilstošo izvadi. Rezultāts tiks tverts C, šeit C = A ^ B.

Šajā patiesības tabulā mēs ņemam ievadi patiesības vērtību veidā, t.i., patiess (T) un nepatiess (F). Izvade tiks ģenerēta arī patieso vērtību veidā, t.i., T un F.

C++ Bitwise XOR operators

Šeit, iepriekš minētajā XOR patiesības tabulā, mēs novērojam, ka, ja operandu A un B vērtības ir atšķirīgas, t.i., ( F, T ), ( T, F ), rezultāts vienmēr būs T. operandu A un B vērtības ir vienādas, t.i., ( F, F ), ( T, T ), rezultāts vienmēr būs F.

No iepriekš minētajām tabulām mēs to novērojam T (patiess) ir apzīmēts ar vienu un F (false) ir apzīmēts ar 0.

Darbības, lai atrisinātu jebkuru problēmu -

  1. Uzdevumā norādītie operandi vienmēr būs decimālvērtībā.
  2. Pirmkārt, mums ir jāpārvērš operandu vērtības par binārs
  3. Pēc operandu vērtību konvertēšanas bināros skaitļos, novietojiet abus operandus vienu virs otra.
  4. Atcerieties, ka, pirms lietojat tiem ekskluzīvu VAI (XOR) darbību, lūdzu, pārbaudiet ciparu skaits viņos.
  5. Ja ciparu skaits nesakrīt, papildu 0 mazā operanda kreisajā galā līdzsvaro ciparu skaitu.
  6. Visbeidzot, ar augstākminētās patiesības tabulas palīdzību pielietojiet operāciju XOR operandiem pa vienam, pa vienam bitam izmantojot XOR operāciju.
  7. Beidzot rezultāts tiek ražots produkcijas veidā.
  8. Izvade tiek ražota būs binārā formā, tagad konvertējiet bināro formu decimāldaļā un pierakstiet rezultāta vērtību.

Bitwise Exclusive OR (XOR) operācijas izpilde programmā C++

Ļaujiet mums sīkāk izprast XOR darbības izpildi C++, izmantojot piemērus -

1. piemērs: atrodiet veselu skaitļu vērtību ekskluzīvo VAI; 10 un 14. Tāpat paskaidrojiet to un ierakstiet izpildes kodu C++ valodā.

Risinājums: Apskatīsim divus mainīgos lielumus 'a' un 'b', lai saglabātu atbilstošos divus operandus, kas norādīti iepriekš minētajā jautājumā, t.i., 10 un 14.

salīdziniet virknē

Šeit a = 10 un b = 14.

Mēs veiksim tālāk norādītās darbības, lai noskaidrotu doto divu operandu ekskluzīvo VAI.

  1. Mēs zinām, ka 10 un 14 ir decimālā formā, un, lai piemērotu bitu XOR operāciju, tas ir jāpārvērš binārā formā.
  2. Binārā forma ' a ', t.i., 10 ir '1010' un 'b' binārā forma, t.i., 14 ir '1110'.
  3. Šeit mēs novērojam, ka a bināro ciparu skaits ir četri un b bināro ciparu skaits arī ir 4; līdz ar to bināro ciparu skaits abos mainīgajos ir vienāds un jau līdzsvarots, mums nav jāpievieno vairāk 0, lai to līdzsvarotu.
  4. Tagad, liekot bināros ciparus, kas atrodas burtā “b”, uz binārajiem cipariem, kas atrodas burtā “a”.
  5. Visbeidzot, XOR operācijas piemērošana pa vienam attiecīgajiem bitiem sakrīt un pieraksta izvadi.
  6. Beidzot ģenerētā izvade būs binārā formā, kā iepriekš minētais jautājums ir norādīts decimālā formā, tāpēc mums ir jāpārvērš rezultāts decimālā formā.

Paskaidrojums:

a = 10 ( decimāldaļā )

b = 14 ( decimāldaļā )

Tagad XOR b mums ir jāpārvērš a un b binārā formā -

a = 1010 (binārā formā)

b = 1110 ( binārā formā )

Tagad, piemērojot XOR operāciju a un b -

a = 1010

b = 1110

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

a ^ b = 0100 (Binārā formā)

A ^ b rezultāts ir 0100, kas ir binārā formā.

Tagad rezultāts tiek pārvērsts decimāldaļā, kas ir 4.

reactjs karte

10^14 = 4

PIEZĪME. Izmantojot iepriekš minēto XOR patiesības tabulu, tiek ģenerēta atbilstošo bitu izvade.

Tagad mēs pielietosim bitu XOR operāciju 10 un 14 valodā C++ un iegūsim rezultātu, t.i., 4.

C++ kods iepriekšējam piemēram:

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

Izvade

C++ Bitwise XOR operators

2. piemērs: atrodiet ekskluzīvo VAI veselu skaitļu vērtībām; 3 un 15. Tāpat paskaidrojiet to un ierakstiet izpildes kodu C++ valodā.

Risinājums: Apskatīsim divus mainīgos lielumus 'a' un 'b', lai saglabātu atbilstošos divus operandus, kas norādīti iepriekš minētajā jautājumā, t.i., 3 un 15.

Šeit a = 3 un b = 15.

Mēs veiksim tālāk norādītās darbības, lai noskaidrotu doto divu operandu ekskluzīvo VAI.

  1. Mēs zinām, ka 3 un 15 ir decimālā formā, un, lai piemērotu bitu XOR operāciju, tas ir jāpārvērš binārā formā.
  2. Binārā forma ' a ', t.i., 3 ir 'vienpadsmit' un 'b' binārā forma, t.i., 15 ir '1111'.
  3. Šeit mēs ievērosim, ka a bināro ciparu skaits ir divi un b bināro ciparu skaits ir četri; tāpēc bināro ciparu skaits, kas atrodas abos mainīgajos, nav vienāds. Tādējādi, ja nav līdzsvara, mums jāpievieno vairāk 0 skaitļu apakšējā binārā skaitļa kreisajā pusē, t.i., a, kas ir ' vienpadsmit' , lai to līdzsvarotu.
  4. Pēc balansēšanas a vērtība ir '0011' , un b ir '1111'.
  5. Tagad, saliekot bināros ciparus, kas atrodas 'b', uz binārajiem cipariem, kas atrodas 'a'.
  6. Visbeidzot, XOR operācijas piemērošana pa vienam attiecīgajiem bitiem sakrīt un pieraksta izvadi.
  7. Beidzot ģenerētā izvade būs binārā formā, kā iepriekš minētais jautājums ir norādīts decimālā formā, tāpēc mums ir jāpārvērš rezultāts decimālā formā.

Paskaidrojums:

a = 3 ( decimāldaļā )

b = 15 ( decimāldaļā )

Tagad XOR b mums ir jāpārvērš a un b binārā formā -

a = 0011 ( binārā formā )

b = 1111 ( binārā formā )

Tagad, piemērojot XOR operāciju a un b -

a = 0011

b = 1111

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

a ^ b = 1100 (Binārā formā)

A ^ b rezultāts ir 1100, kas ir binārā formā.

Tagad rezultāts tiek pārvērsts decimāldaļā, kas ir 12.

3^15 = 12

PIEZĪME. Izmantojot iepriekš minēto XOR patiesības tabulu, tiek ģenerēta atbilstošo bitu izvade.

Tagad mēs pielietosim bitu XOR darbību 3 un 15 valodā C++ un iegūsim rezultātu, t.i., 12.

C++ kods iepriekšējam piemēram:

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

Izvade

C++ Bitwise XOR operators