Co musisz wiedzieć o operatorach bitowych Pythona? [Wyjaśniono z przykładami]
Opublikowany: 2021-10-06Systemy 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