πŸ” Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ XOR Π² Python: объяснСниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

XOR Π² Python ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ "ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜".

Он являСтся Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ примСняСтся ΠΊ Π΄Π²ΡƒΠΌ значСниям (Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ логичСским) ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½ΠΈΡ… истинно, ΠΈ False Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС.

a = True
b = False

result = a ^ b
print(result)  # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ True, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ истинно

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ пСрСмСнная "a" ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True, Π° пСрСмСнная "b" ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ XOR (^), ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ True, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (Π° ΠΈΠΌΠ΅Π½Π½ΠΎ "a") ΠΈΠΌΠ΅Π΅Ρ‚ истинноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

XOR ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ рСализация ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅Π³ΠΎ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ xor Π² Python?

XOR (ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜) - это ΠΎΠ΄Π½Π° ΠΈΠ· логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, которая выполняСтся Π½Π°Π΄ двумя значСниями ΠΈΠ»ΠΈ выраТСниями. Π’ Python ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ XOR прСдставлСн символом '^'. Он примСняСтся ΠΊ Π΄Π²ΡƒΠΌ Π±ΠΈΡ‚Π°ΠΌ (0 ΠΈΠ»ΠΈ 1) ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π±ΠΈΡ‚ΠΎΠ² являСтся 1, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ - 0.

XOR прСдставляСт собой Π±ΠΈΠ½Π°Ρ€Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, поэтому ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ с числами, Ρ‚Π°ΠΊ ΠΈ с Π±ΠΈΡ‚Π°ΠΌΠΈ Π² Python. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² для Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ понимания.

1. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с числами


a = 10   # Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ прСдставлСниС: 1010
b = 6    # Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ прСдставлСниС: 0110

result = a ^ b
print(result)  # Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚: 12
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ XOR ΠΊ Π΄Π²ΡƒΠΌ числам - 10 ΠΈ 6. Π˜Ρ… Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ прСдставлСниС соотвСтствСнно Ρ€Π°Π²Π½ΠΎ 1010 ΠΈ 0110. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ число 12, Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ прСдставлСниС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π²Π½ΠΎ 1100.

2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с Π±ΠΈΡ‚Π°ΠΌΠΈ


bit1 = True
bit2 = False

result = bit1 ^ bit2
print(result)  # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚: True
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ XOR ΠΊ Π΄Π²ΡƒΠΌ Π±ΠΈΡ‚Π°ΠΌ - True ΠΈ False. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π±ΠΈΡ‚ΠΎΠ² True, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ - False.

3. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с мноТСствами


set1 = {1, 2, 3}
set2 = {3, 4, 5}

result = set1 ^ set2
print(result)  # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚: {1, 2, 4, 5}
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ XOR ΠΊ Π΄Π²ΡƒΠΌ мноТСствам - set1 ΠΈ set2. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΎΠ²ΠΎΠ΅ мноТСство, содСрТащСС элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· мноТСств.

4. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ опСрациями


bit1 = 0b1100
bit2 = 0b1010

result = bin(bit1 ^ bit2)
print(result)  # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚: 0b1110
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ XOR ΠΊ Π΄Π²ΡƒΠΌ Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΌ значСниям - bit1 ΠΈ bit2. Π˜Ρ… Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ прСдставлСниС соотвСтствСнно Ρ€Π°Π²Π½ΠΎ 1100 ΠΈ 1010. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1110 Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ XOR Π² Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для выполнСния логичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π˜Π›Π˜ Π½Π°Π΄ двумя значСниями, выраТСниями ΠΈΠ»ΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ с числами, Ρ‚Π°ΠΊ ΠΈ с Π±ΠΈΡ‚Π°ΠΌΠΈ, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сцСнариях, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ условий ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡.

ΠŸΡ€ΠΈ использовании ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° XOR Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ, Ссли Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ использовании ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° XOR для достиТСния ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

#64. Π‘ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ И, Π˜Π›Π˜, НЕ, XOR. Π‘Π΄Π²ΠΈΠ³ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ | Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

XOR-ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅. ОбъяснСниС Π½Π° ΠΏΠ°Π»ΡŒΡ†Π°Ρ…

ΠŸΠ΅Ρ€ΡΠ΅ΠΏΡ‚Ρ€ΠΎΠ½ - возмоТности классификации ΠΎΠ±Ρ€Π°Π·ΠΎΠ², Π·Π°Π΄Π°Ρ‡Π° XOR | #2 нСйросСти Π½Π° Python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

⌨️ Как ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ тСкстовой Ρ„Π°ΠΉΠ» Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: шаг Π·Π° шагом руководство

πŸ”’ Как Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ матСматичСскиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² Python: ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ 🐍

πŸ”Ž Π§Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅: Python ΠΈΠ»ΠΈ HTML? Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π±ΠΎΡ€ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ языка программирования

πŸ” Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ XOR Π² Python: объяснСниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

πŸ’‘ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² Python: простой Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Как ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ имя python Π½Π΅ распознано ΠΊΠ°ΠΊ имя ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ‚Π°?

πŸ“ Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ Π² ΠΏΠ°ΠΏΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python: подробная инструкция