- L'operatore XOR bit a bit è noto anche come Esclusivo o
- È indicato utilizzando il '^'
- Come indica il nome, funziona su livello di bit degli operandi.
- L'operatore XOR bit a bit rientra nella categoria degli operatori bit a bit.
- Nell'operatore OR esclusivo bit per bit (XOR), sono richiesti due operandi e questi due operandi sono separati dal simbolo XOR, ovvero '^'.
- Per determinare l'output o il risultato che risulta dopo aver applicato l'operatore XOR su due operandi, dobbiamo seguire la tabella della verità logica dell'operatore XOR.
- XOR Truth Table è la tabella matematica costruita utilizzando la logica corretta dell'operatore XOR.
- La logica utilizzata dietro l'operatore XOR è; ogni volta che l'operazione XOR viene applicata sui due diverso bit di due operandi, il risultato sarà sempre prodotto '1', e se ai due viene applicata l'operazione XOR Stesso bit di due operandi, il risultato produce un output '0'.
Tabella di verità dell'operatore OR esclusivo (XOR).
Lasciamo che ci siano due operandi; il primo è A e il secondo è B, le combinazioni totali di input formate da questi due operandi saranno 4. Utilizzando la seguente tabella di verità XOR, determineremo l'output corrispondente. Il risultato verrà catturato in C, qui C = A^B.
In questa tabella della verità, prendiamo l'input sotto forma di bit, ovvero 0 e 1, e anche l'output verrà generato sotto forma di bit, ovvero 0 e 1.
Qui, nella tabella XOR Truth sopra, osserviamo che quando i valori degli operandi A e B sono diversi, cioè ( 0, 1 ), ( 1, 0 ), il risultato che esce sarà sempre 1. E quando il i valori degli operandi A e B sono gli stessi, cioè ( 0, 0 ), ( 1, 1 ), il risultato che ne uscirà sarà sempre 0.
Allo stesso modo, in questo modo, possiamo tracciare la tavola della verità per Booleano valori -
Lasciamo che ci siano due operandi; il primo lo è UN e il secondo lo è B . Le combinazioni totali di input formate da questi due operandi saranno 4. Utilizzando la seguente tabella di verità XOR, determineremo l'output corrispondente. Il risultato verrà catturato in C, qui C = A ^ B.
In questa tabella di verità, prendiamo input sotto forma di valori di verità, ovvero Vero ( T ) e Falso ( F ). L'output verrà generato anche sotto forma di valori veri, ovvero T e F.
Qui, nella tabella XOR Truth sopra, osserviamo che, quando i valori degli operandi A e B sono diversi, cioè ( F, T ), ( T, F ), il risultato sarà sempre T. E quando il i valori degli operandi A e B sono gli stessi, ovvero ( F, F ), ( T, T ), il risultato sarà sempre F.
Dalle tabelle sopra lo osserviamo T (Vero) è indicato con uno e F (Falso) è indicato con 0.
Passaggi per risolvere qualsiasi problema -
- Gli operandi forniti nel problema saranno sempre nel valore decimale.
- Innanzitutto, dobbiamo convertire i valori degli operandi in binario
- Dopo aver convertito i valori degli operandi in numeri binari, sovrapponi entrambi gli operandi.
- Ricorda che prima di applicare su di essi l'operazione OR esclusivo (XOR), controlla gentilmente il file numero di cifre in loro.
- Se il conteggio delle cifre non corrisponde, gli 0 aggiuntivi all'estremità sinistra dell'operando piccolo bilanciano il conteggio delle cifre.
- Infine, con l'aiuto della tabella di verità sopra, applicare l'operazione XOR sugli operandi uno per uno, prendendo un bit alla volta per applicare l'operazione XOR.
- Alla fine, il risultato viene prodotto sotto forma di output.
- L'output prodotto sarà in forma binaria, ora converti la forma binaria in forma decimale e annota il valore del risultato.
Esecuzione dell'operazione OR esclusivo bit per bit (XOR) in C++
Cerchiamo di comprendere più in dettaglio l'esecuzione dell'operazione XOR in C++ con l'aiuto di esempi:
Esempio 1: trovare l'OR esclusivo di valori interi; 10 e 14. Inoltre, spiegalo e scrivi il codice di esecuzione in C++.
Soluzione: Consideriamo due variabili,' a ' e ' b ', per memorizzare i due operandi corrispondenti indicati nella domanda precedente, ovvero 10 e 14.
Qui a = 10 e b = 14.
ciclo for in bash
Seguiremo i passaggi seguenti per scoprire l'OR esclusivo dei due operandi indicati.
- Sappiamo che 10 e 14 sono in forma decimale e per applicare l'operazione XOR bit a bit è necessario convertirla in forma binaria.
- Forma binaria ' a ', cioè 10 is '1010' e Forma binaria di 'b', cioè 14 è '1110'.
- Qui osserviamo che il conteggio delle cifre binarie presenti in a è quattro e anche il conteggio delle cifre binarie presenti in b è 4; quindi il numero di cifre binarie presenti in entrambe le variabili è lo stesso e già bilanciato, non è necessario aggiungere più numeri di 0 per bilanciarlo.
- Ora, mettiamo le cifre binarie presenti in 'b' nelle cifre binarie presenti in 'a'.
- Infine, applicando l'operazione XOR uno per uno sui bit corrispondenti corrisponde e annota l'output.
- L'output generato alla fine sarà in forma binaria, come la domanda precedente fornita in forma decimale, quindi dobbiamo convertire il risultato in forma decimale.
Spiegazione:
a = 10 (in forma decimale)
b = 14 (in forma decimale)
Ora, per uno XOR b, dobbiamo convertire a e b in forma binaria:
a = 1010 (in forma binaria)
b = 1110 (in forma binaria)
Ora, applicando l'operazione XOR su aeb -
a = 1010
b = 1110
---------------
a^b = 0100 (In forma binaria)
Il risultato di a ^ b è 0100, che è in forma binaria.
Ora convertiamo il risultato in forma decimale, che è 4.
10^14 = 4
NOTA: utilizzando la tabella di verità XOR sopra, viene generato l'output dei bit corrispondenti.
Applicheremo ora l'operazione XOR bit a bit su 10 e 14 in linguaggio C++ e otterremo il risultato, ovvero 4.
Codice C++ per l'esempio precedente:
//************************ 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 <> b ; // taking b as input from user c = a ^ b ; // storing XOR result of a and b in c cout << 'Applying XOR operation on a and b: '<< endl ; cout << 'a ^ b = ' << c << endl ; // Printing the output } </'>
Produzione
Esempio 2: trovare l'OR esclusivo di valori interi; 3 e 15. Inoltre, spiegalo e scrivi il codice di esecuzione in C++.
Soluzione: Consideriamo due variabili,' a ' e ' b ', per memorizzare i due operandi corrispondenti indicati nella domanda precedente, ovvero 3 e 15.
Qui a = 3 e b = 15.
Seguiremo i passaggi seguenti per scoprire l'OR esclusivo dei due operandi indicati.
- Sappiamo che 3 e 15 sono in forma decimale e per applicare l'operazione XOR bit a bit è necessario convertirla in forma binaria.
- Forma binaria ' a ', cioè 3 is 'undici' e Forma binaria di 'b', cioè 15 è '1111'.
- Qui osserveremo che il conteggio delle cifre binarie presenti in a è due e il conteggio delle cifre binarie presenti in b è quattro; quindi il numero di cifre binarie presenti in entrambe le variabili non è lo stesso. Pertanto, in modo sbilanciato, dobbiamo aggiungere più numeri di 0 sul lato sinistro del numero binario inferiore, ovvero a, che è ' undici' , per bilanciarlo.
- Dopo il bilanciamento, il valore di a è '0011' , e b è '1111'.
- Ora, trasformiamo le cifre binarie presenti in 'b' nelle cifre binarie presenti in 'a'.
- Infine, applicando l'operazione XOR uno per uno sui bit corrispondenti corrisponde e annota l'output.
- L'output generato alla fine sarà in forma binaria, come la domanda precedente fornita in forma decimale, quindi dobbiamo convertire il risultato in forma decimale.
Spiegazione:
a = 3 (in forma decimale)
b = 15 (in forma decimale)
Ora, per uno XOR b, dobbiamo convertire a e b in forma binaria:
a = 0011 (in forma binaria)
b = 1111 (in forma binaria)
Ora, applicando l'operazione XOR su aeb -
a = 0011
b = 1111
---------------
a^b = 1100 (In forma binaria)
Il risultato di a ^ b è 1100, che è in forma binaria.
Ora convertiamo il risultato in forma decimale, che è 12.
3^15 = 12
NOTA: utilizzando la tabella di verità XOR sopra, viene generato l'output dei bit corrispondenti.
Applicheremo ora l'operazione XOR bit a bit su 3 e 15 in linguaggio C++ e otterremo il risultato, ovvero 12.
Codice C++ per l'esempio precedente:
//************************ 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 <> b ; // taking b as input from user c = a ^ b ; // storing XOR result of a and b in c cout << 'Applying XOR operation on a and b: '<< endl ; cout << 'a ^ b = ' << c << endl ; // Printing the output } </'>
Produzione