Mentre programmine in Python, il “Xor"L'operatore è utilizzato in diverse attività. Ad esempio, per rilevare errori o problemi nella trasmissione dei dati con l'aiuto di checksum, applicare la crittografia sui messaggi o recuperare determinati bit da un numero. Più specificamente, viene utilizzato per confrontare due serie di dati o stringhe e determinare se sono simili o hanno alcune differenze.
Questo blog coprirà i seguenti aspetti:
Cos'è Xor in Python?
In Python, "Xor" O "Esclusivo o"È un operatore che confronta due numeri binari bit. Questo operatore restituisce "0"Se entrambi i bit sono gli stessi. Altrimenti, produce "1"Nel caso in cui entrambi i valori siano diversi. L'operatore XOR integrato di Python ci consente di combinare logicamente due valori con l'aiuto dell'esclusiva o dell'operazione.
Come funziona Xor in Python?
L'operatore XOR è rappresentato come "^"In Python, e segue la sintassi data:
xor_number = x ^ yQui, "x "e" y"Indicare i numeri binari,"^"Rappresenta l'operatore XOR e"xor_number"Memorizza il valore booleano risultante.
Xor Truth Table
Per saperne di più sul funzionamento dell'operatore XOR, guarda la tabella data:
X | y | x ^ y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Come xor due stringhe in Python?
Poiché Xor è un operatore bitwise, può funzionare solo su numeri interi. Tuttavia, per eseguire l'operazione XOR tra due stringhe, è necessario convertirle nei rispettivi valori ASCII/Unicode usando "ord ()"Funzione e quindi applicare il"^"Operatore.
Esistono tre scenari principali di caso quando si considerano l'implicazione dell'operatore XOR sui valori delle stringhe:
Dimostriamo praticamente i casi dichiarati!
Caso 1: applicare XOR su due stringhe con valori binari
Per applicare l'operatore XOR su due stringhe con valori binari, inizializzarli in primo luogo come segue:
String1 = "0100100"Ora, aggiungi le seguenti righe:
risultato = [(ord (a) ^ ord (b)) per a, b in zip (string1, string2)]Secondo il codice dato:
Si può osservare che per ogni stesso bit indice di entrambe le stringhe, l'operatore XOR emette "0", E per valori diversi,"1"Viene restituito.
Caso 2: applicare XOR su due stringhe con caratteri
Ora, l'operatore XOR viene applicato su due stringhe con i seguenti valori dei caratteri:
string1 = "due"In questo caso, il "ord ()"La funzione restituisce il valore ASCII per ciascun generato e li passa a"^"per eseguire l'operazione XOR:
Un altro modo più semplice per ricordare il funzionamento di questo caso è quando il "ord ()"La funzione restituisce il valore ASCII per ciascuna coppia, l'operatore XOR emette il valore sottratto.
Per esempio:
Caso 3: applicare xor su due quando una stringa contiene caratteri e l'altra si basa su numeri interi/valori binari
L'ultimo caso nella discussione in corso è quando una stringa contiene caratteri, come "due", E l'altro comprende numeri interi o valori binari, come"111":
string1 = "due"Qui, il codice funziona in modo simile al secondo caso. Tranne il fatto che i valori ASCII restituiti sono stati convertiti nei rispettivi caratteri usando il "CHR ()"Funzione Python:
L'elenco restituito rappresenta i caratteri dei valori ASCII corrispondenti.
Conclusione
In Python, Xor "^" ritorna "0"Se entrambi i bit sono gli stessi. Altrimenti, produce "1". Tuttavia, entrambe le stringhe comprendono caratteri, i valori vengono convertiti nella loro rappresentazione ASCII usando "ord ()"Funzione, quindi viene applicato l'operatore XOR. La stessa operazione viene eseguita quando entrambe le stringhe contengono diversi tipi di dati, come caratteri e numeri interi. Solo la differenziazione è invocare il "CHR ()"Funzione per ottenere il valore risultante nei caratteri. Questo blog ha dimostrato come Xor due stringhe in Python.