Skip to main content
CheckTown
Konwertery

Kalkulator binarny: operacje bitowe wyjaśnione

Opublikowano 5 min czytania
W tym artykule

Czym jest arytmetyka binarna?

Arytmetyka binarna to matematyka wykonywana w systemie dwojkowym, używająca tylko cyfr 0 i 1. Każdy komputer cyfrowy przetwarza dane jako binarne na poziomie sprzetowym -- liczby całkowite, zmiennoprzecinkowe, adresy pamięci, a nawet tekst sa przechowywane i przetwarzane jako ciągi bitow. Zrozumienie systemu dwojkowego jest niezbędne w programowaniu niskopoziomowym, sieciach i logice cyfrowej.

Poza prostym dodawaniem i odejmowaniem arytmetyka binarna obejmuje operacje bitowe: AND, OR, XOR, NOT i przesunięcia bitow. Te operacje działają na poszczegolnych bitach i sa fundamentalne dla zadan takich jak ustawianie flag uprawnien, obliczanie sum kontrolnych, maskowanie adresow IP i optymalizacja kodu krytycznego wydajnosciowo.

Jak działają operacje bitowe

Operatory bitowe przetwarzaja liczby całkowite bit po bicie. Kazda operacja ma tablice prawdy definiujaca wyjście dla każdej kombinacji bitow wejściowych.

  • AND, OR, XOR -- AND (&) zwraca 1 tylko gdy oba bity sa rowne 1, OR (|) zwraca 1 gdy ktorylkolwiek bit jest rowny 1, a XOR (^) zwraca 1 gdy bity sie różnią. Używane do maskowania, łączenia flag i przełączania bitow
  • NOT i przesunięcia -- NOT (~) odwraca wszystkie bity, przesunięcie w lewo (<<) mnoży przez potęgi 2, a przesunięcie w prawo (>>) dzieli przez potęgi 2. Arytmetyczne przesunięcie w prawo zachowuje bit znaku dla liczb ujemnych
  • Uzupełnienie do dwoch -- nowoczesne komputery reprezentuja ujemne liczby całkowite za pomoca uzupelnienia do dwoch, gdzie -1 to wszystkie bity ustawione na 1. Pozwala to temu samemu sprzotowi wykonywac zarowno dodawanie, jak i odejmowanie bez oddzielnego obwodu

Wypróbuj za darmo — bez rejestracji

Oblicz operacje binarne →

Kiedy używać operacji bitowych

Operacje bitowe sa używane w programowaniu systemowym, sieciach i aplikacjach wrażliwych na wydajność.

  • Flagi uprawnien -- uprawnienia plikow Unix (rwxr-xr-x = 0755) używają pol bitowych, gdzie każdy bit reprezentuje konkretne uprawnienie, sprawdzane za pomoca AND i ustawiane za pomoca OR
  • Maski podsieci -- inzynierowie sieci używają operacji AND między adresami IP a maskami podsieci do określania granic sieci i prawidłowego kierowania ruchu
  • Grafika i manipulacja kolorami -- kolory pikseli przechowywane jako liczby całkowite 0xRRGGBB używają przesunięć bitow i masek do wyodrębniania lub modyfikowania poszczegolnych kanałów czerwonego, zielonego i niebieskiego

Często zadawane pytania

Jaka jest różnica między liczbami ze znakiem a bez znaku?

Liczby całkowite bez znaku używają wszystkich bitow na wielkość, wiec 8-bitowa liczba bez znaku ma zakres od 0 do 255. Liczby całkowite ze znakiem rezerwuja najwyższy bit na znak (dodatni lub ujemny), wiec 8-bitowa liczba ze znakiem ma zakres od -128 do 127 w uzupelnieniu do dwoch. Wybor wpływa na zachowanie operacji przesunięcia w prawo i porownania.

Czy przesunięcie bitowe jest tym samym co mnożenie lub dzielenie przez 2?

Przesunięcie w lewo o n pozycji jest równoważne mnozeniu przez 2^n dla nieujemnych liczb całkowitych. Przesunięcie w prawo dzieli przez 2^n, ale zachowanie dla liczb ujemnych zależy od typu przesunięcia: arytmetycznego (zachowuje znak) lub logicznego (wypełnia zerami). W większości języków >> jest arytmetyczne dla typow ze znakiem, a >>> (gdzie dostępne) jest logiczne.

Dlaczego operacje bitowe sa nadal istotne we wspolczesnym kodzie?

Operacje bitowe sa szeroko stosowane we flagach funkcji, systemach uprawnien, protokolach sieciowych, kryptografii, funkcjach skrotu, renderowaniu grafiki i kompresji danych. Wykonuja sie w jednym cyklu CPU i nie używają dodatkowej pamięci, co czyni je idealnymi dla ścieżek krytycznych wydajnosciowo. Nowoczesne frameworki także używają ich wewnętrznie -- React używa ich dla flag efektow, a Linux dla uprawnien plikow.

Powiązane narzędzia