Как работает XOR в Python: подробное объяснение и примеры кода
Ксор (XOR) в Python - это побитовая операция, которая выполняется между двумя битами или двумя целыми числами, приведенными к битовому представлению. Результатом операции XOR будет 1, только если входные биты различаются.
Ниже приведен пример использования оператора XOR в Python:
a = 10 # битовое представление: 1010
b = 6 # битовое представление: 0110
result = a ^ b
print(result) # вывод: 12
Детальный ответ
Տեքստ-ֆայլերի հետևման օպերացիաների համար օգտվողը կարող է օգտակար լինել XOR-ից:
XOR-ի ներկայացուցիչ
XOR-ը (կամ Կոնֆերանցիայի Երկուշաբթիի կամ Exclusive OR) ծրագիրը թույլ է տալիս կատարել իրականացուցիչներ, օգտագործելով XOR-ի գործառույթը:
Ինչպես է աշխատում XOR-ը Python-ում
XOR-ը աշխատում է հետևյալ կերպով Python-ում. Արդյո՞ք որոշված է, թե զանգվածը ունի երկու էլեմենտ, որոնք մեկը վերցնում է ըստ մեկ պայմանով, իսկ մյուսը վերցնում է ըստ մյուս պայմանով: Փորձացրեք հետևյալ կոդը:
x = True
y = False
result = x ^ y
print(result) # արդյոք պետք է արտածի True կամ False
Արտածվող արժեքը XOR-ի արժեքի կախված է: Եթե պետք է վերցնել True, ունենանք, որ True կոտորակային օպերատորը ունի արժեքը 1, իսկ False-ին ուղղին օպերատորը ունի արժեքը 0: Եթե պետք է վերցնել False, ապա դեպքում արժեքը կդառնա նույնը միշտ բնորոշվածը ըստ կերպարների:
Ցուցադրեք դեմքին օգտողին, որ ստանում է արժեքներ։
Բոլոր արժեքները կարող են պահպանվել փոփոխականներում, և ստացվում են այսինքն՝ ուղղակի True առանց բնույթին կամ False-առանց բնույթի:
XOR-ի գործողությունը արժեքներում է հիմնական վրայով՝ եթե առաջին արժեքը True է և երկրորդը False է, ապա արժեքը XOR-ի գործողությունով կդառնա True, իսկ եթե առաջին արժեքը False է և երկրորդը True է, ապա արժեքը XOR-ին գործողությունով կդառնա True, իսկ եթե երկուն արժեքները նույնն են, արժեքը XOR-ի գործողությունով կդառնա False:
XOR-ը նաև կարող է իրար տարածել ժառանգով. Օրինակ՝ եթե լուծում եմ հետևյալ խնդիրը՝ Գոյություն ունի երկու դասվածք, որոնք բացատրվում են վայրկյանների մատրիցում:
time = 3
place = 4
result = time ^ place
print(result) # արդյոք պետք է արտածի 7
Իսկ եթե փորձում եմ լուծել փորձավորվող համակարգերով՝ պետք է անցնեմ 2-ից 8, մյուսը անցնեմ 3-ից 7-ը։
start = 2
end = 8
result = start ^ end
print(result) # արդյոք պետք է արտածի 10
Շատականացումներ
XOR-ը Python-ում կարելի է օգտագործել շատականացման մեջ: Կարելի է ձեռք բերել շատականացման կանոնները և տեսնել, թե ինչպես փոփոխելու է XOR-ի արժեքը:
Օգտագործում XOR-ը բլոկներում
Այսպիսով, XOR-ը նվազեցնելու միայն մեկ ամենամեծ ուտեստներից է: Կարելի է ավելացնել XOR-ը այլ ծրագիրների մեջ:
from functools import reduce
from operator import xor
numbers = [1, 2, 3, 4, 5]
result = reduce(xor, numbers)
print(result) # արդյոք պետք է արտածի 3
Գերազանցում՝ գրելաձևերով օգտագործելով XOR-ը կարող ենք հաշվել այլընտրանքների համար: