Bitwise i operator w Python

Bitwise i operator w Python
Operatorzy odgrywają bardzo ważną i kluczową rolę od dnia, w którym zostały zdefiniowane i użyte w językach programowania. Każdy język programowania pozwala użytkownikowi korzystać z operatorów bitowych do osiągnięcia celu wdrożenia. Operatorzy bitowate dobrze sobie radzą z dowolną formułą, wbudowanymi lub zdefiniowanymi przez użytkownika funkcjami. Operatorzy są specjalnymi symbolami, które wykonują operacje logiczne i arytmetyczne na wartościach i zmiennych. Wartości lub zmienne używane do wykonywania operacji za pomocą operatorów są powszechnie znane jako „operatorzy”. Ten artykuł dotyczy tej koncepcji.

Jakie są operatorzy bitowców w Python?

Operatorzy bitowców w Pythonie są używane do wykonywania obliczeń bitwennych na zmiennych, liczb lub liczbach całkowitych. Po pierwsze, liczby całkowite lub liczby są przekształcane w binarne. Następnie wykonywana jest operacja bitwowate z operatorami bitowcami na przekonwertowanych liczb całkowitych bit. Właśnie dlatego nazywa się to operacje bitowe. Wynik wytwarzany przez operację bitowców jest podawany w formacie dziesiętnym. Należy zwrócić uwagę na to, że operatorzy bitowców w Pythonie pracują tylko z liczbami całkowitych. Poniżej znajduje się lista operatorów bitowych zdefiniowanych w standardowej bibliotece Pythona.

Nazwa Znak operatora Składnia Wyjście
Bitwise lub | a | b Zwraca 1 tylko wtedy, gdy obie zmienne są 1 inne 0.
Bitwise i I A&B Zwraca 0 tylko wtedy, gdy obie zmienne są 0 else 1.
Bitwise nie ~ ~ a Zwraca uzupełnienie liczby.
Bitwise Xor ^ a^b Zwraca 1, gdy oba bity są inne 0.
Bitwise Pight Shift >> A >> Przesuwa bity w prawo.
Bitwise lewa zmiana << A<< Przesuwa bity w lewo.

W tym samouczka. Bitwise i przyjmuje dwie zmienne lub liczby dziesiętne jako wejście, przekonwertuj je na binarne, stosuje i zwraca liczbę dziesiętną.

Przykład 1:

Jak dotąd omówiliśmy składnię i podstawową funkcję operatora. Teraz nadszedł czas, aby zbadać jakiś przykładowy kod, aby dowiedzieć się, jak wdrożyć funkcję i bitwise w kodzie Python. Najpierw zobaczmy następujący kod. Następnie eksplorujemy każde stwierdzenie jeden po drugim.

Tutaj zdefiniowano dwie zmienne: x = 11 i y = 6. Operator bitowców przekształca każdą liczbę dziesiętną w liczbę binarną przed zastosowaniem bitwgłego i pracy. Pokazujemy, co jest 11 w binarie i co 6 w binarie. Następnie stosujemy Bitwise i operator na x i y i generujemy wyjście.

x = 11
y = 6
print (x, „konwertowany w binarny”, format (x, „b”))
Drukuj (y, „Przekształcony w binarny”, format (y, „b”))
Drukuj („The Bitwise & of”, X, ”i„, Y, „Is:”, X & Y)

Poprzednia ilustracja to dane wyjściowe podane przez bitowate i operator. Kiedy 11 jest przekształcane w binarne, daje 1011. Gdy 6 jest przekształcane w binarne, daje 0110. Bitwise i jest stosowane do obu liczb binarnych 1011 i 0110, co wynika do 0010, czyli 2 w reprezentacji dziesiętnej.

Przykład 2:

W tym przykładzie zobaczymy różnicę między i & & operator w Python. Operator „i” w Pythonie jest logiczny i zwraca „fałszywy” lub „0” dla każdego przypadku, z wyjątkiem sytuacji, gdy oba bity są „prawdziwe” lub „1”. Z drugiej strony operator „&” służy do reprezentowania operacji bitowej, która działa przede wszystkim z bitami i wykonuje operacje bitowe. Teraz kodujmy coś, aby zrozumieć różnicę w funkcjonowaniu operatorów „i” i „&”.

x = 11
y = 6
print (x, "i", y, "=", x i y)
print (x, „&”, y, „=”, x i y)

Zobaczmy następujące dane wyjściowe. Jak można zauważyć, „i” zwraca 6, a „&” zwraca 2. Dzieje się tak, ponieważ gdy operator „i” jest stosowany do x i y, sprawdza, czy x i y są logicznie prawdziwe. Jednak po zastosowaniu operatora „&” wykonuje działanie „i” i zapewnia obliczony wynik. W przypadku operacji „i” kompilator analizuje pierwszą zmienną. Jeśli zwróci „true”, sprawdza drugą zmienną. W przeciwnym razie po prostu zwraca „fałszywe”.

W rzeczywistości i zwraca „prawdziwe” tylko wtedy, gdy obie zmienne są „prawdziwe”. W przeciwnym razie zawsze zwraca „fałszywe”. Stąd, gdy kompilator znajdzie „fałszywy” na początku, nie musi sprawdzać następnej zmiennej. Ponieważ nie ma znaczenia, czy druga zmienna jest „prawdziwa”, czy „fałsz”, natychmiast zwraca „fałszywe”. Cały ten scenariusz jest powszechnie znany jako „leniwa ocena”, ponieważ kompilator nie idzie dalej, gdy otrzyma „fałszywy”.

Przykład 3:

W tym przykładzie zbadamy przeciążenie operatora. Pojęcie przeciążenia operatora polega na tym, że nadaje rozszerzone znaczenie predefiniowanym znaczeniu operacyjnym operatorów. Na przykład operator + służy do przyjęcia sumy dwóch liczb. Służy jednak również do scalania dwóch list lub łączenia dwóch ciągów. Dzieje się tak, ponieważ operator + jest przeciążony przez klasę „STR” i klasę „int”. Stąd, gdy operator wykazuje inne zachowanie inne niż jego domyślne zachowanie, jest uważane za przeciążenie operatora. Zobaczmy przykład przeciążenia bitowego i operatora.

klasa i ():
def __init __ (self, wartość):
samego siebie.wartość = wartość
def __ i __ (self, obj):
Drukuj („Bitwise i operator przeciążone”)
Jeśli isinstance (obj i):
powrót do siebie.Wartość i obj.wartość
w przeciwnym razie:
Ważenia Valueerror („powinien być przedmiotem klasy i”)
Jeśli __name__ == "__main__":
x = i (10)
y = i (12)
Drukuj („x & y =”, x i y)

Wyjście przykładu przeciążenia operatora podano na następującej ilustracji:

Wniosek

Ten artykuł zawiera szybki przegląd bitowego i operacji. Widzieliśmy podstawową definicję różnych operatorów bitowych podanych w standardowej bibliotece Pythona. Jednak skupiliśmy się głównie na koncepcji Bitwise i operatora. And Operator przyjmuje dwa dziesiętne parametry wejściowe, przekształca je w liczbę binarną, wykonuje bitwise i obsługę, przekształca wynik binarny w dziesiętne i zwraca dane wyjściowe w formacie dziesiętnym. Dostarczono pewne proste i przydatne przykłady, aby jasno zrozumieć, co robią bitowate i operator i jak to działa. Ćwicz te przykłady, abyś mógł je łatwo wykorzystać w swoich programach Python.