Podczas programowania w Python, „Xor„Operator jest wykorzystywany w kilku zadaniach. Na przykład, aby wykryć błędy lub problemy w transmisji danych za pomocą sumy kontrolnej, zastosuj szyfrowanie wiadomości lub odzyskaj niektóre bity z liczby. Mówiąc dokładniej, służy do porównywania dwóch zestawów danych lub ciągów i określania, czy są one podobne, czy mają pewne różnice.
Ten blog obejmie następujące aspekty:
Co to jest w Pythonie?
W Python „Xor" Lub "Wyłączne lub”Jest operatorem, który porównuje dwie liczby binarne bitowe. Ten operator zwraca „0„Jeśli oba bity są takie same. W przeciwnym razie wysyła „1”W przypadku różnych wartości. Wbudowany operator XOR Pythona pozwala nam logiczne łączenie dwóch wartości z pomocą ekskluzywnej lub operacji.
Jak Xor działa w Python?
Operator XOR jest reprezentowany jako „^„W Python i jest zgodny z podaną składnią:
xor_number = x ^ yTutaj, "x ”i„ y„Wskaż liczby binarne”^”Reprezentuje operatora Xor i„xor_number”Przechowuje wynikową wartość logiczną.
Xor Tabela prawdy
Aby dowiedzieć się więcej o pracy operatora Xor, spójrz na podany tabelę:
X | y | x ^ y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Jak xor dwa struny w Pythonie?
Ponieważ XOR jest operatorem bitowym, może działać tylko na liczbach całkowitych. Jednak aby wykonać operację XOR między dwoma ciągami, konieczne jest przekształcenie ich w odpowiednie wartości ASCII/Unicode przy użyciu „ord ()”Funkcja, a następnie zastosuj„^„Operator.
Uwzględniając trzy główne scenariusze przypadków, biorąc pod uwagę implikację operatora XOR dla wartości ciągu:
Praktycznie zademonstrujmy podane przypadki!
Przypadek 1: Zastosuj XOR na dwa ciągi o wartości binarnych
Aby zastosować operator XOR na dwa ciągi o wartości binarnych, najpierw zainicjuj je w następujący sposób:
string1 = "0100100"Teraz dodaj następujące wiersze:
wynik = [(ord (a) ^ ord (b)) dla a, b w zip (string1, string2)]Zgodnie z danym kodem:
Można zaobserwować, że dla każdego samego indeksu obu ciągów, operator XOR wysyła się „0”, A dla różnych wartości„1”Jest zwrócony.
Przypadek 2: Zastosuj XOR na dwa sznurki z znakami
Teraz operator XOR jest stosowany na dwa ciągi o następujących wartościach znaków:
string1 = "dwa"W tym przypadku „ord ()„Funkcja zwraca wartość ASCII dla każdego wygenerowanego i przekazuje ją do„^”, aby wykonać operację XOR:
Kolejnym najprostszym sposobem zapamiętania działania tej sprawy jest „ord ()”Funkcja zwraca wartość ASCII dla każdej pary, operator XOR wyświetla swoją wartość odjęta.
Na przykład:
Przypadek 3: Zastosuj xor na dwa, gdy jeden ciąg zawiera znaki, a inne oparte na liczbach całkowitych/wartościach binarnych
Ostatni przypadek w trwającej dyskusji ma miejsce, gdy jeden ciąg zawiera znaki, takie jak „dwa”, A drugi zawiera liczby całkowite lub wartości binarne, takie jak„111”:
string1 = "dwa"Tutaj kod działa podobnie do drugiego przypadku. Z wyjątkiem tego, że zwrócone wartości ASCII zostały przekonwertowane na odpowiednie znaki za pomocą „CHR ()„Funkcja Pythona:
Zwracana lista reprezentuje znaki odpowiednich wartości ASCII.
Wniosek
W Python, Xor ”^" zwroty "0„Jeśli oba bity są takie same. W przeciwnym razie wysyła „1". Jednak oba ciągi zawierają znaki, wartości są przekształcane w ich reprezentację ASCII za pomocą „ord ()”Funkcja, a następnie stosuje się operator XOR. Ta sama operacja jest wykonywana, gdy oba ciągi zawierają różne typy danych, takie jak znaki i liczby całkowite. Tylko różnicowanie jest powołanie się na „CHR ()„Funkcja, aby uzyskać wynikową wartość w znakach. Ten blog pokazał, jak xor dwa struny w Pythonie.