C ++ xor

C ++ xor
Xor è un tipo di operatore bitwise. Gli operatori bitwise sono gli operatori di confronto che confrontano i valori di byte dei valori dell'opera e nella notazione binaria. L'operatore XOR è quello che contiene i due operandi. Questa operazione viene applicata al valore intero. Ci sono quasi sei operatori bitwise in C++.

E operatore (&), o operatore (|), operatore XOR (^), operatore del complemento (~), operatore a sinistra.

Sintassi di XOR

# Variabile1 ^ variabile2

La variabile 1 è il primo operando su cui deve essere eseguita l'operazione. E la variabile 2 è il secondo operando. '^' è il simbolo dell'operatore XOR. Questo simbolo viene utilizzato tra le due variabili su cui deve essere applicata l'operazione XOR.

C ++ xor Working

L'operatore XOR è il tipo di operatore bitwise che ha due operandi e su ogni bit di questi due operandi, viene eseguito il funzionamento di XOR.

Se in qualche modo i due bit di tali due operandi sono entrambi zero, il valore risultante restituito da XOR è zero.

Il risultato è anche 0 se entrambi i valori dei numeri negli operandisti sono 0.

Allo stesso modo, il risultato di XOR è uno se e solo se i due bit di due operandi sono 1.

Mentre il valore restituito è solo 1 quando entrambi i bit di due operandi sono diversi. Se il primo operando è 1 e il secondo è zero o viceversa.

Il valore dei valori di due operandi viene convertito nel valore binario sotto forma di bit (0-1). Successivamente, applichiamo l'operazione XOR su entrambi i valori binari. Questa notazione binaria è ora convertita in forma decimale. Questo è il valore intero simile a quei valori degli operandi.

La tabella della verità per l'operatore XOR

Operand a Operando b A ^ b
0 0 0
0 1 1
1 0 1
1 1 0

Implementazione di C ++ XOR

Esempio 1

Un semplice esempio per spiegare il funzionamento di XOR in C ++ è spiegato qui. Dobbiamo avere due variabili che conterranno due valori su cui applicheremo la funzione XOR. Innanzitutto, la libreria viene utilizzata nel file di intestazione per consentire l'uso di flussi CIN e COUT nel programma che è noto per essere iostream.

#includere

Ora nel programma principale, le due variabili saranno inizializzate con i valori. Innanzitutto, questi due valori verranno convertiti nella notazione binaria di questi numeri.

Quindi su ogni binario, verrà applicata l'operazione XOR. Come sappiamo che 1 viene restituito se qualcuno è 1, altrimenti 0 viene restituito. Seguendo queste regole, verrà ottenuto il risultato di questo valore. E poi la risposta binaria verrà convertita in notazione decimale.

Il valore binario di 12 è 00001100

Il valore binario di 25 è 00011001

Applica il funzionamento XOR su entrambi i valori.

00001100
^ 00011001
_________
00010101

Questo è il valore binario di 21 nella notazione decimale.

Salva il file con l'estensione di C e quindi, eseguilo. Per eseguire un programma C ++, dobbiamo avere un compilatore di un linguaggio di programmazione C ++. Quindi, a questo scopo, viene utilizzato un compilatore G ++. Questo compilatore utilizza un file di input e visualizza i risultati. '-o' viene utilizzato per salvare il risultato nel file di output.

$ g ++ -o xor xor.C
$ ./xor

Esempio 2

In questo esempio, troveremo un valore irregolare o diverso tra l'elenco dei numeri che non corrisponde agli altri elementi nell'elenco. È anche un'applicazione di Xor che trova il numero diverso dagli altri. Vengono forniti un paio di numeri e viene identificato un numero dispari.

Dopo aver usato la libreria iostream, abbiamo creato una funzione separata al di fuori del corpo principale. Questa funzione restituirà l'elemento dispari nell'array. Questa funzione conterrà l'array e la variabile intera come parametro perché la variabile conterrà la dimensione dell'array inizializzata nel programma principale. Qui viene anche introdotta una variabile che memorizzerà il numero dispari calcolato da XOR. Come sappiamo che per accedere a ciascun indice dell'array, dobbiamo utilizzare un ciclo che itera e incrementi in ogni passaggio.

Il ciclo ripeterà fino alle dimensioni di un array e in ogni iterazione, la variabile calcolerà il numero dispari e lo memorizzerà.

Res ^= arr [i];
Il valore verrà restituito al programma principale. Nel programma principale, viene inizializzato un array con alcuni numeri. Si ottiene la dimensione dell'array e quindi viene effettuata una chiamata di funzione nell'istruzione Cout per visualizzare il numero dispari tra tutti gli stessi numeri.

FindDd (arr, n)
Salva il codice sopra e compilalo nel terminale. Vedrai che il numero 90 è quello che è insolito in tutto l'array.

Esempio 3

Questo esempio riguarda l'uso combinato di alcuni operatori bitwise. Quindi, dopo aver usato la biblioteca, ci dirigeremo verso il programma principale. Proprio come Xor e, e l'operatore Or operatore funziona al minimo a due valori. In primo luogo, inizializzamo due variabili con i numeri. In ogni operazione bitwise, ogni numero verrà prima convertito nel valore binario per applicare gli operatori, quindi i risultati verranno convertiti in numeri decimali, come abbiamo fatto nell'esempio precedente. Ora, applicheremo e gestiremo. Secondo questo operatore, entrambi gli operandi devono avere 1 valore in modo che l'operatore e l'operatore diventino vere e restituiscano 1, nel caso di qualsiasi 0, restituirà false.

A & B;
Verrà ottenuto un valore risultante binario e quindi verrà seguita la conversione decimale. Il prossimo è l'operatore o. Per questa operazione bitwise, solo un singolo operando deve essere 1, in modo che possa restituire 1, e se entrambi gli operandi sono 1, di nuovo 1 verrà restituito.

A | B;
Ancora una volta, converti il ​​binario in valore decimale. E l'ultimo operatore è l'operatore XOR, per il quale sappiamo che restituisce 1 se e solo se uno dei suoi operandi è 1. Altrimenti, è 0.

A ^ b;
Ora, salva ed esegui il file. Vedrai che ogni operatore ha lavorato in modo efficace per calcolare i valori risultanti.

Fatti importanti sugli operatori bitwise

Gli operatori bitwise non devono essere utilizzati al posto degli operatori logici. Perché il risultato dell'operatore logico è 1 o 0. (Gli operatori logici sono e, o, no). Il valore ottenuto è un numero intero. Questo perché il valore decimale viene convertito in valore binario e poi di nuovo, il binario viene convertito in un valore decimale che è un valore intero.

Conclusione

Ora riassumeremo l'argomento "C ++ XOR". Abbiamo spiegato gli operatori XOR Bitwise definendo tutti i tipi. Il funzionamento di XOR è anche spiegato nel linguaggio di programmazione C ++. Il suo lavoro include il coinvolgimento della tabella della verità che è anche menzionato sopra. Alcuni esempi sono inclusi qui per dimostrare la conoscenza dell'operatore Bitwise XOR.