Co musisz wiedzieć o operatorach bitowych Pythona? [Wyjaśniono z przykładami]

Opublikowany: 2021-10-06

Systemy komputerowe reprezentują, przechowują i przesyłają dane w postaci strumienia cyfr binarnych zwanych bitami. „Binary” oznacza, że ​​mogą istnieć tylko dwie możliwe wartości, 0 i 1, a każda taka cyfra binarna jest znana jako „bit”. Niezależnie od tego, czy pracujesz z tekstem, liczbami dziesiętnymi, obrazami, dźwiękami czy filmami, oprogramowanie komputerowe tłumaczy informacje na kod binarny składający się z zer i jedynek. Informacje binarne, często określane jako język maszynowy, są najbardziej podstawowym poziomem informacji przechowywanych przez system komputerowy.

Operatory bitowe w Pythonie pozwalają nam manipulować poszczególnymi bitami danych na najbardziej podstawowym poziomie. Innymi słowy, operatory bitowe w Pythonie służą do wykonywania obliczeń bitowych na wartościach całkowitych. W ten sposób wartości całkowite są najpierw konwertowane do postaci binarnej, a następnie wykonywane są operacje bit po bicie. Po wykonaniu 'operacji bitowych' wyniki są zwracane w formacie dziesiętnym. Operatory bitowe w Pythonie działają tylko na liczbach całkowitych. Podnoszenie umiejętności dzięki programom analizy danych pomoże Ci przezwyciężyć wyzwania. Porozmawiajmy więcej o eksploracji tekstu.

Przyjrzyjmy się teraz bardziej szczegółowo operatorom bitowym Pythona, typom, sposobom ich działania i przykładom.

Spis treści

Operatory bitowe w Pythonie

Python zawiera sześć operatorów do wykonywania bitowych operacji logicznych na liczbach całkowitych.

Poniżej znajdują się różne operatory bitowe w Pythonie wraz z ich składnią i opisem działania każdego z nich.

Operator

Składnia

Opis

Bitowe AND

a i b

Operator zwraca 1, jeśli oba bity w operandach to 1. W przeciwnym razie zwraca 0.

Bitowe OR

| b

Operator zwraca 1, jeśli którykolwiek bit w operandach wynosi 1. W przeciwnym razie zwraca 0.

Bitowe NIE

~a

Jednoargumentowy operator bitowy, który wykonuje logiczną negację danej liczby, odwracając wszystkie jej bity. Arytmetycznie wyraża się to jako odjęcie pojedynczych wartości bitowych od jednego (~ai = 1 – ai).

Bitowe XOR

a ^ b

Operator zwraca 1, jeśli para bitów zawiera przeciwstawne wartości bitów. W przeciwnym razie zwraca 0.

Bitowe przesunięcie w lewo

<<

Operator przesuwa bity swojego pierwszego operandu w lewo o liczbę miejsc zdefiniowaną w drugim operandzie. Ponadto operator dodaje wystarczającą liczbę zer, aby wypełnić lukę, która tworzy się po prawej stronie nowego wzoru bitowego.

Bitowe przesunięcie w prawo

>>

Operator przesuwa bity w prawo o określoną liczbę miejsc. W ten sposób bity znajdujące się najbardziej na prawo są zawsze odrzucane.

Operatory bitowe w Pythonie z przykładami

Mając na uwadze podstawowy opis każdego operatora bitowego, spójrzmy na kilka przykładów w celu dalszego wyjaśnienia pojęcia.

1. Bitowe AND (&)

Zwraca 1, jeśli oba bity mają wartość 1. W przeciwnym razie zwraca 0.

  • Przykład 1

a = 24 = 11000 (binarny)

b = 4 = 00100 (binarny)

a&b = 11000

&

00100

= 00000

= 0 (dziesiętny)

  • Przykład #2

a = 10 = 1010 (binarny)

b = 2 = 0010 (binarny)

a&b = 1010

&

0010

= 0010

= 2 (dziesiętny)

2. Bitowe LUB ( | )

Zwraca 1, jeśli jeden z bitów ma wartość 1. W przeciwnym razie zwraca 0.

  • Przykład 1

a = 67 = 1000011 (binarny)

b = 54 = 0110110 (binarny)

| b = 1000011

|

0110110

= 1110111

= 119 (dziesiętny)

  • Przykład #2

a = 6 = 000110 (binarny)

b = 34 = 100010 (binarny)

| b = 000110

|

100010

= 100110

= 38 (dziesiętny)

3. Bitowe NIE (~)

Zwraca uzupełnienie bitu do 1 (odwraca bit).

  • Przykład 1

a = 60 = 111100 (binarny)

~a = ~111100

= 000011

= 3 (dziesiętny)

  • Przykład #2

a = 33 = 100001 (binarny)

~a = ~100001

= 011110

= 30 (dziesiętny)

4. Bitowe XOR (^)

Zwraca 1, jeśli oba bity mają przeciwne wartości. W przeciwnym razie zwraca 0.

  • Przykład 1

a = 61 = 0111101 (binarny)

b = 90 = 1011010 (binarny)

a ^ b = 0111101

^

1011010

= 1100111

= 103 (dziesiętny)

  • Przykład #2

a = 2 = 000010 (binarny)

b = 55 = 110111 (binarny)

a^b = 000010

^

110111

= 110101

= 53 (dziesiętny)

5. Bitowe przesunięcie w lewo (<<)

Przesuwa bity w lewo i wypełnia luki utworzone po prawej stronie 0.

  • Przykład 1

a = 39 = 100111 (binarny)

a << 1 = 1001110 = 78 (dziesiętny)

a << 2 = 10011100 = 156 (dziesiętnie)

a << 3 = 100111000 = 312 (dziesiętnie)

  • Przykład #2

b = 74 = 1001010 (binarny)

b << 1 = 10010100 = 148 (dziesiętnie)

b << 2 = 100101000 = 296 (dziesiętnie)

b << 3 = 1001010000 = 592 (dziesiętnie)

6. Bitowe prawe gówno (>>)

Przesuwa bity w prawo i wypełnia luki utworzone po lewej stronie wartością 0.

  • Przykład 1

a = 157 = 10011101 (binarny)

a >> 1 = 1001110 = 78 (dziesiętnie)

a >> 2 = 100111 = 39 (dziesiętnie)

a >> 3 = 10011 = 19 (dziesiętny)

  • Przykład #2

b = 89 = 1011001 (binarny)

b >> 1 = 101100 = 44 (dziesiętnie)

b >> 2 = 010110 = 22 (dziesiętny)

b >> 3 = 001011 = 11 (dziesiętnie)

Operatory bitowe w Pythonie (przykłady z kodem)

Poniżej znajduje się kilka prostych fragmentów kodu ilustrujących operatory bitowe w Pythonie:

1. Bitowe AND, OR, NOT i XOR

Źródło

Źródło

2. Bitowe operatory przesunięcia

Źródło

Źródło

Droga naprzód: Opanuj umiejętności Pythona dzięki programowi certyfikatów zawodowych upGrad w dziedzinie nauki o danych

Czy jesteś początkującym Business Managerem, który prawie nie ma doświadczenia w kodowaniu? W takim razie upGrad zapewni Ci profesjonalną certyfikację Program w dziedzinie nauki o danych do podejmowania decyzji biznesowych.

Program Professional Certificate in Data Science jest specjalnie zaprojektowany dla menedżerów i pracujących profesjonalistów, którzy chcą rozwijać umiejętności i praktyczną wiedzę z podstawowej nauki o danych. Rygorystyczny, 8-miesięczny program online koncentruje się na problemach związanych z nauką danych, algorytmach i sposobie prezentacji danych w celu podjęcia ważnych decyzji biznesowych. Program nauczania obejmuje następujące przedmioty:

  • Treści przygotowawcze przed programem
  • Rozwiązywanie problemów biznesowych, spostrzeżenia i opowiadanie historii
  • Statystyki i uczenie maszynowe
  • Strategia
  • Projekt zwieńczenia
  • Wprowadzenie do Pythona (moduł opcjonalny)

Oto najważniejsze informacje o programie:

  • Uznawany na całym świecie certyfikat IIM Kozhikode
  • Ponad 200 godzin treści, ponad 20 sesji szkoleniowych na żywo, ponad 5 sesji coachingowych ekspertów
  • 3 projekty branżowe i zwieńczenie
  • Kompleksowa obsługa programów Excel, Python, Tableau, R i Power BI
  • Wsparcie kariery 360 stopni
  • Indywidualnie z mentorami branżowymi
  • Pomoc w pracy w najlepszych firmach
  • Możliwości nawiązywania kontaktów branżowych

Wniosek

Python to potężny, wszechstronny i łatwy w użyciu język programowania, dzięki czemu jest popularnym wyborem zarówno wśród ekspertów, jak i początkujących. Poza tym Python jest nadal preferowanym językiem programowania wśród programistów ze względu na swoją czystą wydajność, wszechstronność, niezawodność i szybkość. Może być używany w prawie wszystkich środowiskach i platformach bez znaczącej utraty wydajności. Ponadto Python obsługuje większość obciążeń związanych z przetwarzaniem danych w wielu organizacjach. Łatwość analizy danych, którą oferuje Python, sprawia, że ​​jest on przydatny w wielu aplikacjach, w tym w projektach uczenia maszynowego.

Python jest niewątpliwie przydatny w radzeniu sobie z krytycznymi procesami biznesowymi, ponieważ stanowi fundamentalny aspekt nauki o danych. Co więcej, w miarę rozwoju Big Data i coraz większej liczby przedsiębiorstw skupiających się na podejmowaniu decyzji opartych na danych, nie można podważyć znaczenia Pythona. Jeśli więc chcesz opanować Pythona i zastosować swoje umiejętności w scenariuszach biznesowych opartych na danych, zarejestruj się w upGrad , aby uczyć się od najlepszych w branży!

Do czego służą operatory bitowe?

Operatory bitowe w Pythonie służą do wykonywania obliczeń bitowych na wartościach całkowitych. W tym celu liczby całkowite są najpierw przekształcane na binarne, a następnie wykonywane są różne operacje, bit po bicie, zwracając wynik w formacie dziesiętnym. W Pythonie operatory bitowe mogą być używane tylko na liczbach całkowitych.

Czy operatory bitowe są szybkie?

W prostym, tanim procesorze operatory bitowe są zazwyczaj szybsze niż dzielenie, mnożenie i często znacznie szybsze niż dodawanie. Ogólnie rzecz biorąc, operatory bitowe zużywają mniej zasobów, a zatem zużywają znacznie mniej energii.

Jaki jest pożytek z operatorów logicznych w Pythonie?

Python ma trzy operatory logiczne, które umożliwiają porównywanie wartości. Trzy operatory logiczne AND, OR i NOT obliczają wyrażenia na wartości logiczne i zwracają True lub False na podstawie wyniku operatora. Poniżej podano trzy operatory logiczne w Pythonie:

1. AND ( a i b): Prawda, jeśli oba wyrażenia są prawdziwe
2. LUB (a lub b): Prawda, jeśli przynajmniej jedno wyrażenie jest prawdziwe
3. NIE (nie a): Prawda tylko wtedy, gdy wyrażenie jest fałszywe