Opération Python Notes-XOR, opération OU et opération

fonctionner Caractéristiques Scénarios d'application
XOR Si les deux opérandes sont différents, le résultat est 1 ; s’ils sont identiques, le résultat est 0. Algorithmes de chiffrement, calculs de somme de contrôle, recherche d'éléments qui apparaissent un nombre impair de fois dans un tableau, etc.
ou Si l'un des deux opérandes est 1, le résultat est 1 Jugement logique, contrôle d'autorité, jugement de l'état du commutateur, etc.
et Si les deux opérandes valent 1, le résultat est 1 Opération de masque, opération de bit, jugement logique, etc.

illustrer:

  1. Opération OU exclusif (XOR) : lorsque les deux opérandes sont différents, le résultat est 1 ; lorsque les deux opérandes sont identiques, le résultat est 0. L'opération XOR a les caractéristiques de réflexivité (A XOR A = 0) et de loi commutative (A XOR B = B XOR A). L'opération XOR est largement utilisée dans des scénarios tels que les algorithmes de chiffrement, les calculs de somme de contrôle et la recherche d'éléments qui apparaissent un nombre impair de fois dans un tableau.

  2. Opération Ou (OR) : Lorsque l'un des deux opérandes est 1, le résultat est 1 ; lorsque les deux opérandes sont 0, le résultat est 0. Les opérations sont souvent utilisées dans des scénarios tels que le jugement logique, le contrôle des autorisations et le jugement de l'état du commutateur.

  3. Opération ET (AND) : lorsque les deux opérandes sont 1, le résultat est 1 ; lorsque l'un des deux opérandes est 0, le résultat est 0. Les opérations ET sont souvent utilisées dans les opérations de masque, les opérations sur les bits, les jugements logiques et d'autres scénarios.

Ces opérations logiques sont largement utilisées dans les domaines de l'informatique et de l'ingénierie électronique et peuvent être utilisées pour gérer des tâches telles que le jugement logique, le cryptage des données, la vérification de la transmission des données et les opérations sur les bits. Dans la programmation et la conception de circuits, ces opérations logiques constituent la base de la construction d'une logique et de fonctionnalités complexes.

Opération XOR

L'opération XOR (XOR, Exclusive OR) est une opération binaire qui s'applique à chaque bit de deux nombres binaires. Ses règles de fonctionnement sont les suivantes :

  1. Si les deux bits sont identiques (tous deux 0 ou tous deux 1), le résultat est 0.
  2. Si les deux bits sont différents (un à 0 et un à 1), le résultat est 1.

Le symbole couramment utilisé pour l'opération XOR est généralement exprimé par " " dans les langages de programmation .

L'opération XOR possède quelques propriétés importantes :

  1. Le résultat du XOR de n'importe quel nombre avec 0 est toujours le nombre lui-même, a^0 = a.
  2. Le résultat de toute opération XOR sur lui-même est 0, c'est-à-dire a ^ a = 0.
  3. L'opération XOR satisfait la loi commutative, c'est-à-dire a ^ b = b ^ a.
  4. L'opération XOR satisfait la loi associative, c'est-à-dire (a ^ b) ^ c = a ^ (b ^ c).

En raison de ces propriétés, les opérations XOR sont largement utilisées dans les ordinateurs et sont souvent utilisées dans les scénarios suivants :

  1. Échangez les valeurs de deux variables sans nécessiter de variables temporaires supplémentaires.
  2. Triez les éléments d'un tableau sans utiliser d'espace supplémentaire.
  3. Déterminez rapidement si deux nombres sont égaux. En raison de la propriété a^b = 0, il peut être utilisé pour déterminer si deux nombres sont égaux.

En programmation, l'opération XOR est généralement utilisée pour résoudre certains problèmes d'opérations sur bits et d'opérations informatiques de bas niveau. C'est également l'une des techniques courantes pour résoudre certains problèmes algorithmiques.

Opération OU, Opération ET

L'opération OU (OR, Bitwise OR) et l'opération AND (AND, Bitwise AND) sont deux opérations binaires qui s'appliquent à chaque bit de deux nombres binaires. Leurs règles de fonctionnement sont les suivantes :

  1. Ou opération (|) : Tant que l'un des deux bits binaires est à 1, le résultat est à 1, sinon le résultat est à 0.

    • Par exemple : 0b1101 | 0b1010 = 0b1111
  2. Opération ET (&) : les deux bits binaires doivent être 1 avant que le résultat soit 1, sinon le résultat est 0.

    • Par exemple : 0b1101 & 0b1010 = 0b1000

Les opérations OU et ET sont largement utilisées dans les ordinateurs et sont souvent utilisées dans les scénarios suivants :

  1. Masque de bits : grâce aux opérations AND et OR, des bits spécifiques d'un nombre peuvent être masqués pour extraire ou définir des informations de bits spécifiques.
  2. Jugement conditionnel : vous pouvez utiliser les opérations AND et OR pour obtenir l'effet d'un jugement conditionnel, par exemple juger s'il convient d'effectuer certaines opérations ou de définir certains indicateurs en fonction d'une certaine condition.
  3. Opérations sur bits : les opérations ET et les opérations OU sont les opérations de base des opérations sur bits, qui peuvent être utilisées pour effectuer diverses opérations au niveau des bits sur des nombres binaires, telles que le décalage, la négation, etc.

En programmation, les opérations OU et ET sont souvent utilisées pour résoudre certains problèmes de fonctionnement des bits, ou pour contrôler et faire fonctionner les bits de nombres binaires. Ils constituent la base des opérations sous-jacentes des ordinateurs et sont également des outils couramment utilisés dans certains algorithmes et traitements de données.

Application de XOR

Par exemple, pour le tableau [2, 3, 4, 2, 4, 5, 3], nous pouvons faire ce qui suit :

  1. Initialisez un résultat variable à 0.
  2. Effectuez l'opération result ^= num sur chaque nombre num du tableau, c'est-à-dire effectuez l'opération XOR sur result et num et attribuez le résultat à result.
  3. La valeur finale du résultat est le nombre qui n'apparaît qu'une seule fois.

Exemple de code Python :

def find_single_number(nums):
    result = 0
    for num in nums:
        result ^= num
    return result

# 示例
nums = [2, 3, 4, 2, 4, 5, 3]
print(find_single_number(nums))  # 输出:5

Grâce à l'opération XOR, nous pouvons trouver efficacement les nombres qui n'apparaissent qu'une seule fois dans le tableau sans utiliser de structures de données supplémentaires ou de méthodes de parcours complexes.

et fonctionnement, ou application du fonctionnement

Voici deux exemples d’algorithmes utilisant les opérations OR et AND :

  1. Masquage de bits :
    le masquage de bits est une technique permettant de masquer des bits spécifiques d'un nombre à l'aide des opérations AND et OR. En mettant certains bits à 1 ou 0, on peut masquer ou extraire les informations requises.

Exemple : utilisez un masque de bits pour extraire les 16 bits inférieurs et les 16 bits supérieurs d'un entier de 32 bits.

def extract_low_and_high_bits(num):
    low_bits = num & 0xFFFF  # 0xFFFF表示16个二进制位全为1,其余位全为0
    high_bits = (num >> 16) & 0xFFFF
    return low_bits, high_bits

# 示例
number = 0b11001100110011001100110011001100  # 一个32位整数
low, high = extract_low_and_high_bits(number)
print("低16位:", bin(low))
print("高16位:", bin(high))
  1. Déterminer les nombres impairs et pairs :
    pour un nombre binaire, son dernier bit est 1 pour indiquer un nombre impair et 0 pour indiquer un nombre pair. Par conséquent, nous pouvons utiliser l’opération AND pour déterminer si un entier est pair ou impair.

Exemple : utilisez l'opération AND pour déterminer si un entier est impair ou pair.

def is_even_or_odd(num):
    if num & 1 == 0:
        return "偶数"
    else:
        return "奇数"

# 示例
number = 10
print(number, "是", is_even_or_odd(number))

Ces exemples montrent l'application des opérations OU et ET dans les algorithmes. Ils peuvent nous aider à effectuer des opérations et des jugements au niveau des bits et constituent des techniques courantes pour résoudre certains problèmes de nombres binaires.

Je suppose que tu aimes

Origine blog.csdn.net/qq_40140808/article/details/131884214
conseillé
Classement