Skip to main content
CheckTown
Konwertery

Kalkulator binarny: operacje bitowe wyjasnione

Opublikowano 5 min czytania
W tym artykule

Czym jest arytmetyka binarna?

Arytmetyka binarna to matematyka wykonywana w systemie dwojkowym, uzywajaca tylko cyfr 0 i 1. Kazdy komputer cyfrowy przetwarza dane jako binarne na poziomie sprzetowym -- liczby calkowite, zmiennoprzecinkowe, adresy pamieci, a nawet tekst sa przechowywane i przetwarzane jako ciagi bitow. Zrozumienie systemu dwojkowego jest niezbedne w programowaniu niskopoziomowym, sieciach i logice cyfrowej.

Poza prostym dodawaniem i odejmowaniem arytmetyka binarna obejmuje operacje bitowe: AND, OR, XOR, NOT i przesuniecia bitow. Te operacje dzialaja 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 dzialaja operacje bitowe

Operatory bitowe przetwarzaja liczby calkowite bit po bicie. Kazda operacja ma tablice prawdy definiujaca wyjscie dla kazdej kombinacji bitow wejsciowych.

  • 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 roznia. Uzywane do maskowania, laczenia flag i przelaczania bitow
  • NOT i przesuniecia -- NOT (~) odwraca wszystkie bity, przesuniecie w lewo (<<) mnozy przez potegi 2, a przesuniecie w prawo (>>) dzieli przez potegi 2. Arytmetyczne przesuniecie w prawo zachowuje bit znaku dla liczb ujemnych
  • Uzupelnienie do dwoch -- nowoczesne komputery reprezentuja ujemne liczby calkowite 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 uzywac operacji bitowych

Operacje bitowe sa uzywane w programowaniu systemowym, sieciach i aplikacjach wrazliwych na wydajnosc.

  • Flagi uprawnien -- uprawnienia plikow Unix (rwxr-xr-x = 0755) uzywaja pol bitowych, gdzie kazdy bit reprezentuje konkretne uprawnienie, sprawdzane za pomoca AND i ustawiane za pomoca OR
  • Maski podsieci -- inzynierowie sieci uzywaja operacji AND miedzy adresami IP a maskami podsieci do okreslania granic sieci i prawidlowego kierowania ruchu
  • Grafika i manipulacja kolorami -- kolory pikseli przechowywane jako liczby calkowite 0xRRGGBB uzywaja przesuniec bitow i masek do wyodrebniania lub modyfikowania poszczegolnych kanalow czerwonego, zielonego i niebieskiego

Czesto zadawane pytania

Jaka jest roznica miedzy liczbami ze znakiem a bez znaku?

Liczby calkowite bez znaku uzywaja wszystkich bitow na wielkosc, wiec 8-bitowa liczba bez znaku ma zakres od 0 do 255. Liczby calkowite ze znakiem rezerwuja najwyzszy bit na znak (dodatni lub ujemny), wiec 8-bitowa liczba ze znakiem ma zakres od -128 do 127 w uzupelnieniu do dwoch. Wybor wplywa na zachowanie operacji przesuniecia w prawo i porownania.

Czy przesuniecie bitowe jest tym samym co mnozenie lub dzielenie przez 2?

Przesuniecie w lewo o n pozycji jest rownowazne mnozeniu przez 2^n dla nieujemnych liczb calkowitych. Przesuniecie w prawo dzieli przez 2^n, ale zachowanie dla liczb ujemnych zalezy od typu przesuniecia: arytmetycznego (zachowuje znak) lub logicznego (wypelnia zerami). W wiekszosci jezykow >> jest arytmetyczne dla typow ze znakiem, a >>> (gdzie dostepne) 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 uzywaja dodatkowej pamieci, co czyni je idealnymi dla sciezek krytycznych wydajnosciowo. Nowoczesne frameworki takze uzywaja ich wewnetrznie -- React uzywa ich dla flag efektow, a Linux dla uprawnien plikow.

Powiązane narzędzia