Operatory bitowe Pythona [z przykładami]
Opublikowany: 2022-09-11Operatory bitowe są dostarczane przez język programowania Python, aby umożliwić programistom manipulowanie danymi na najbardziej podstawowym poziomie – dając im znacznie większą kontrolę nad wszystkimi zmiennymi.
Python to jeden z najpopularniejszych języków programowania w dzisiejszym świecie. Wszechstronność Pythona i liczba oferowanych przez niego funkcji to tylko kilka powodów jego rosnącej popularności. W tym artykule omówimy operatory bitowe w Pythonie, różne typy operatorów bitowych, ich zastosowania i wiele więcej.
Przegląd operatorów bitowych Pythona
Operatory bitowe wyglądają tak samo w różnych językach programowania. Python zawiera różne typy operatorów, takie jak operatory arytmetyczne, logiczne i porównania.
Operator | Przykład | Oznaczający |
& | a i b | Bitowe AND |
| | | b | Bitowe OR |
^ | a ^ b | Bitowe XOR (wyłączne OR) |
~ | ~a | Bitowe NIE |
<< | a << n | Bitowe przesunięcie w lewo |
>> | a >> n | Bitowe przesunięcie w prawo |
Większość operatorów bitowych jest binarna, co oznacza, że do pracy potrzebują dwóch operandów, zwykle określanych jako lewy i prawy operand. Bitowe NOT (~) jest jedynym jednoargumentowym operatorem bitowym, ponieważ potrzebuje tylko jednego operandu.
Zapoznaj się z naszymi popularnymi kursami z zakresu nauki o danych
Executive Post Graduate Program in Data Science z IIITB | Profesjonalny program certyfikatów w dziedzinie nauki o danych do podejmowania decyzji biznesowych | Master of Science in Data Science z University of Arizona |
Zaawansowany program certyfikacji w dziedzinie nauki o danych z IIITB | Profesjonalny program certyfikacji w dziedzinie nauki o danych i analityki biznesowej Uniwersytetu Maryland | Kursy z nauki o danych |
Czym są operatory bitowe?
Operatory bitowe są jednym z typów operatorów używanych do wykonywania obliczeń bitowych na liczbach całkowitych. Liczby całkowite są najpierw konwertowane na binarne, a następnie operacje są wykonywane bit po bicie, stąd nazwa operatorów bitowych. Wynik jest następnie przekształcany w format dziesiętny. Operatory te mogą wykonywać obliczenia tylko na liczbach całkowitych.
Sprawdź nasze certyfikaty w zakresie nauki o danych, aby podnieść swoje umiejętności.
Znaczenie operatorów bitowych
Prawdopodobnie zrozumiałeś, czym są operatory bitowe, teraz skupmy się na znaczeniu operatorów bitowych. Są lepsze niż operatory arytmetyczne i oto dlaczego musisz ich używać:
- Szybkość wykonania
Operatory bitowe są szybsze niż wykonywanie mnożenia lub dzielenia. Jeśli potrzebujesz pomnożyć zmienną x przez powiedzmy 9, możesz to zrobić (x<<3 + x), co byłoby o kilka cykli szybsze niż (x*9).
- Sprawdzanie błędów
Operatory bitowe są szeroko stosowane do sprawdzania błędów. Jeśli wysyłasz bity do innego komputera na innym serwerze, na pewno pojawi się kilka błędów. Możesz zidentyfikować te błędy za pomocą operatorów bitowych.
Prawdopodobnie rozumiesz zastosowanie i znaczenie operatorów bitowych, więc przejdźmy do zrozumienia różnych typów operatorów bitowych.
Różne typy operatorów bitowych
Bitowe operatory logiczne
Operatory bitowe i, lub i xor są operatorami binarnymi, które mają lewy i prawy operand. Operator bitowy nie jest jednoargumentowym operandem, który ma tylko prawy operand. Typ wyniku wszystkich czterech operatorów bitowych to liczby całkowite. Bitowe operatory logiczne sprawdzają jeden bit na raz w swoim operandzie przed i obliczają odpowiednią wartość w wyniku.
Bitowe AND
Operator AND (&) służy do wykonywania operacji AND między dwoma bitami. W takim przypadku oba bity muszą być prawdziwe, aby dane wyjściowe były prawdziwe. Jeśli któryś z bitów jest fałszywy, wynik jest fałszywy. Innymi słowy, jeśli oba bity mają wartość 1, zwraca 1 w przeciwnym razie 0.
1&1 = 1
1&0 = 0
0&0 = 0
0&1 = 0
Przykład:
a = 10 = 1010 (binarny)
b = 4 = 0100 (binarny)
a&b = 1010
&
0100
= 0000
= 0 (dziesiętny)
Bitowe OR
Operator OR (|) służy do wykonywania operacji OR między dwoma bitami. Aby wynik był prawdziwy, jeden z bitów musi być prawdziwy. W przeciwieństwie do operatora (&), oba bity nie muszą być prawdziwe, aby wynik był prawdziwy. Innymi słowy, wynikowy bit ma wartość 0 wtedy i tylko wtedy, gdy oba rozważane bity mają wartość 0, w przeciwnym razie wynik wynosi 1.
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
Przykład:
a = 10 = 1010 (binarny)
b = 4 = 0100 (binarny)
| b = 1010
|
0100
= 1110
= 14 (dziesiętny)
Bitowe NIE
Operator bitowy NOT (~) służy do zwracania uzupełnienia liczby w Pythonie. Jednak operator not jest bardzo prostym operatorem i służy do zmiany bitu z 0 na 1 i z 1 na 0.
~13 (0b01101) = -14
~16 (0b010000) = -17
~31 (0b011111) = -32
Przykład:
a = 10 = 1010 (binarny)
~a = ~1010
= -(1010 + 1)
= -(1011)
= -11 (dziesiętny) bitowy operator XOR
Operator XOR (^) służy do XOR między dwoma bitami, które są w trakcie operacji. Operacja XOR jest bardzo prosta. Jeśli dwa bity są takie same, to wynikowy bit to 0 w przeciwnym razie 1. Jest on szeroko stosowany w obliczeniach logicznych, aby przyspieszyć proces.
1 ^ 1 = 0
1 ^ 0 = 1
0^1 = 1
0^0 = 0
Przykład:
a = 10 = 1010 (binarny)
b = 4 = 0100 (binarny)
a&b = 1010
^
0100
= 1110
= 14 (dziesiętny)
Operatorzy zmian
Te operatory bitowe służą do przesuwania bitów liczby od lewej do prawej poprzez pomnożenie lub podzielenie liczby przez dwa. Mogą być używane, gdy musimy podzielić lub pomnożyć liczbę przez dwa.
Bitowe przesunięcie w prawo
Prawy operator (>>), jak sama nazwa wskazuje, przesuwa bity w prawo do liczby przedstawionej po prawej stronie operatora.
Przeczytaj nasze popularne artykuły o Data Science
Ścieżka kariery w Data Science: kompleksowy przewodnik po karierze | Rozwój kariery w dziedzinie Data Science: Nadeszła przyszłość pracy | Dlaczego nauka o danych jest ważna? 8 sposobów, w jakie nauka o danych wnosi wartość do biznesu |
Znaczenie nauki o danych dla menedżerów | Ostateczna ściągawka do nauki o danych, którą każdy badacz danych powinien mieć | 6 najważniejszych powodów, dla których warto zostać analitykiem danych |
Dzień z życia Data Scientist: co robią? | Obalamy mit: analiza danych nie wymaga kodowania | Business Intelligence vs Data Science: Jakie są różnice? |
Na przykład – 10>>2 przesunie się (1010) w prawo o 2.
Przykład 1:
a = 10 = 0000 1010 (binarny)
a >> 1 = 0000 0101 = 5
Przykład 2:
a = -10 = 1111 0110 (binarny)
a >> 1 = 1111 1011 = -5
Bitowe przesunięcie w lewo
Operator lewy (<<), jak sama nazwa wskazuje, przesuwa bity w lewo do liczby przedstawionej po prawej stronie operatora.
Na przykład – 1<< 2 przesunie 1 w lewo dla 2 wartości.
Przykład 1:
a = 5 = 0000 0101 (binarny)
a << 1 = 0000 1010 = 10
a << 2 = 0001 0100 = 20
Przykład 2:
b = -10 = 1111 0110 (binarny)
b << 1 = 1110 1100 = -20
b << 2 = 1101 1000 = -40
Przeczytaj nasze popularne artykuły o Data Science
Ścieżka kariery w Data Science: kompleksowy przewodnik po karierze | Rozwój kariery w dziedzinie Data Science: Nadeszła przyszłość pracy | Dlaczego nauka o danych jest ważna? 8 sposobów, w jakie nauka o danych wnosi wartość do biznesu |
Znaczenie nauki o danych dla menedżerów | Ostateczna ściągawka do nauki o danych, którą każdy badacz danych powinien mieć | 6 najważniejszych powodów, dla których warto zostać analitykiem danych |
Dzień z życia Data Scientist: co robią? | Obalamy mit: analiza danych nie wymaga kodowania | Business Intelligence vs Data Science: Jakie są różnice? |
Wniosek
Dobra znajomość operatorów bitowych Pythona pomoże Ci manipulować danymi binarnymi w Twoich projektach. Rozumiesz teraz podstawy operatorów bitowych i ich składni oraz obsługujących je typów danych. Możesz także dostosować ich zachowanie do własnych potrzeb.
Jeśli chcesz się uczyć i poszerzać swoją wiedzę na temat pythona i operatorów bitowych, sprawdź program certyfikatów zawodowych upGrad i University of Maryland w dziedzinie nauki o danych i analityki biznesowej , który jest stworzony dla pracujących profesjonalistów, którzy oferują ponad 20 studiów przypadków i zadań, które można wykonać dodane do twojego portfolio, ponad 100 godzin sesji na żywo, ponad 400 godzin nauki z pomocą w pracy z najlepszych firm.
Gdzie są używane operatory bitowe?
Operatory bitowe mogą być używane do manipulowania poszczególnymi bitami liczby. W Pythonie operatory bitowe wykonują obliczenia bitowe na liczbach całkowitych. Najpierw liczby całkowite są konwertowane na binarne, a następnie operacje są wykonywane małymi kawałkami - tak wzięły się operatory bitowe. Operatory bitowe Pythona są używane wyłącznie na liczbach całkowitych, zwracając wyniki w formacie dziesiętnym.
Co to jest operator pojedynczego operandu?
Operatory arytmetyczne wykonują na operandach operacje matematyczne, takie jak dodawanie i odejmowanie. Jednoargumentowy i binarny to dwie kategorie operatorów matematycznych. Operatory jednoargumentowe wykonują funkcję z jednym operandem, np.: Bitwise NOT (~), podczas gdy operatory binarne używają dwóch operandów.
Dlaczego potrzebujemy operatorów bitowych?
Operatory bitowe to świetny sposób na efektywne wykorzystanie miejsca podczas reprezentowania danych. Operatorzy ci są niezbędni, gdy operują na danych dostarczonych przez sprzęt, gdy określony bit w świecie ma znaczenie. Operatory bitowe są niezbędne do oszczędzania pamięci. Pakowanie danych w bity zamiast słów oszczędza pamięć, a często możesz mieć ogromne ilości danych i ograniczoną ilość pamięci.