Pendant la programmation à Python, le «Xor»L'opérateur est utilisé dans plusieurs tâches. Par exemple, pour détecter les erreurs ou les problèmes de transmission de données à l'aide de la somme de contrôle, appliquez le cryptage sur les messages ou récupérez certains bits à partir d'un numéro. Plus précisément, il est utilisé pour comparer deux ensembles de données ou de chaînes et de déterminer s'ils sont similaires ou ont des différences.
Ce blog couvrira les aspects suivants:
Qu'est-ce que Xor dans Python?
Dans Python, "Xor" ou "Exclusif ou«Est un opérateur qui compare deux nombres binaires. Cet opérateur revient "0"Si les deux bits sont les mêmes. Sinon, il sortira "1"Dans le cas où les deux valeurs sont différentes. L'opérateur XOR intégré de Python nous permet de combiner logiquement deux valeurs à l'aide de l'exclusivité ou de l'opération.
Comment fonctionne XOR à Python?
L'opérateur XOR est représenté comme «^«En Python, et il suit la syntaxe donnée:
xor_number = x ^ yIci, "x ”et« y"Indiquez les nombres binaires,"^»Représente l'opérateur XOR et«xor_number»Stocke la valeur booléenne résultante.
Table de vérité Xor
Pour en savoir plus sur le fonctionnement de l'opérateur XOR, regardez le tableau donné:
X | y | x ^ y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Comment xor deux cordes en python?
Comme XOR est un opérateur bitwise, il ne peut fonctionner que sur des entiers. Cependant, pour effectuer l'opération XOR entre deux chaînes, il est nécessaire de les convertir en valeurs ASCII / Unicode respectives en utilisant le «ord ()”Fonction puis appliquez le"^»Opérateur.
Trois scénarios de cas principaux existent lorsque l'on considère l'implication de l'opérateur XOR sur les valeurs de chaîne:
Voyons pratiquement les cas énoncés!
Cas 1: Appliquez XOR sur deux chaînes ayant des valeurs binaires
Pour appliquer l'opérateur XOR sur deux chaînes ayant des valeurs binaires, initialisez-les d'abord comme suit:
String1 = "0100100"Maintenant, ajoutez les lignes suivantes:
result = [(ord (a) ^ ord (b)) pour a, b dans zip (string1, string2)]Selon le code donné:
On peut observer que pour chaque même bit d'index des deux chaînes, l'opérateur XOR sortira «0", Et pour différentes valeurs,"1"Est retourné.
Cas 2: Appliquez XOR sur deux chaînes ayant des caractères
Maintenant, l'opérateur XOR est appliqué sur deux chaînes ayant les valeurs de caractère suivantes:
String1 = "deux"Dans ce cas, le «ord ()»La fonction renvoie la valeur ASCII pour chaque généré et les transmet à« ^ »pour effectuer l'opération XOR:
Une autre façon la plus simple de se souvenir du fonctionnement de cette affaire est lorsque le «ord ()»La fonction renvoie la valeur ASCII pour chaque paire, l'opérateur XOR sort sa valeur soustraite.
Par exemple:
Cas 3: Appliquez XOR sur deux quand une chaîne contient des caractères, et l'autre est basé sur des entiers / valeurs binaires
Le dernier cas dans la discussion en cours est lorsqu'une chaîne contient des caractères, tels que «deux», Et l'autre comprend des entiers ou des valeurs binaires, comme«111»:
String1 = "deux"Ici, le code fonctionne de manière similaire au deuxième cas. Sauf que les valeurs ASCII retournées ont été converties en caractères respectifs en utilisant le "chr ()”Fonction Python:
La liste retournée représente les caractères des valeurs ASCII correspondantes.
Conclusion
Dans Python, xor "^" Retour "0"Si les deux bits sont les mêmes. Sinon, il sortira "1". Cependant, les deux chaînes comprennent des caractères, les valeurs sont converties en leur représentation ASCII en utilisant le "ord ()”Fonction, puis l'opérateur XOR est appliqué. La même opération est effectuée lorsque les deux chaînes contiennent différents types de données, comme les caractères et les entiers. Seule la différenciation consiste à invoquer le «chr ()”Fonction pour obtenir la valeur résultante en caractères. Ce blog a démontré comment Xor deux cordes à Python.