π Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ 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 Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.