Przejdź do treści
100% lokalnie

Kalkulator bitowy

Wykonuj operacje AND, OR, XOR, NOT i przesunięcia bitów na dwóch liczbach i zobacz wynik bit po bicie.

Wejście
Wynik

Kalkulator bitowy

Wpisz jedną liczbę w każdym wierszu i wybierz operację — AND, OR, XOR, NOT, przesunięcie w lewo lub w prawo, rotację w lewo lub w prawo, odwrócenie bitów albo odwrócenie kolejności bitów — aby od razu zobaczyć wynik operacji bitowej. Narzędzie powstało na chwile, gdy dziesiętny wynik kalkulatora nie wystarcza: sprawdzenie maski uprawnień, debugowanie pola flag, ustalenie, co przesunięcie faktycznie robi z bajtem, albo weryfikacja ręcznie policzonej wartości w uzupełnieniu do dwóch.

Każdy operand możesz wpisać i odczytać w systemie dwójkowym, ósemkowym, dziesiętnym lub szesnastkowym, niezależnie od pozostałych. Szesnastkową flagę z debuggera możesz więc wkleić bezpośrednio i dostać wynik w postaci dziesiętnej lub dwójkowej bez osobnej konwersji. Szerokość bitowa (8, 16, 32 lub 64) określa, ile bitów bierze udział w operacji: wartość, która się nie mieści, zostanie obcięta dokładnie tak, jak w prawdziwym rejestrze, a narzędzie to zasygnalizuje. Tryb ze znakiem odczytuje i zapisuje uzupełnienie do dwóch, a przy przesunięciach w prawo możesz wybrać arytmetyczne (zachowujące znak) lub logiczne (uzupełniane zerami).

Przesunięcia cykliczne, czyli rotacje w lewo i w prawo, wypychają bity jednym końcem i wpychają je z powrotem drugim, w obrębie wybranej szerokości, więc nic nie ginie jak przy zwykłym przesunięciu — to ROL i ROR z kodu haszującego i szyfrującego. Odwrócenie bitów neguje tylko pozycje wpisane w drugim wierszu, na przykład 0, 3, 7, przy czym najbardziej prawy bit to 0. Odwrócenie kolejności bitów lustrzanie odbija całą szerokość, więc najmniej znaczący bit staje się najbardziej znaczącym.

Włącz opcję „Pokaż operandy wyrównane bit po bicie”, a wynik ułoży operandy i rezultat jeden pod drugim, po jednym bicie w kolumnie, z operatorem i linią podziału — układ, który narysowałbyś na kartce, żeby sprawdzić wynik ręcznie. Wszystko działa lokalnie w przeglądarce: liczby nie opuszczają urządzenia. Skopiuj wynik, pobierz go jako plik .txt albo wyślij z powrotem do pola wejściowego, aby połączyć kolejną operację.

Częste pytania

Co wpisać w polu wejściowym?
Jedną liczbę w wierszu: pierwszy operand w wierszu 1, a w wierszu 2 drugi operand, liczbę przesunięć lub rotacji albo pozycje bitów do odwrócenia. Liczby w tych polach to zawsze zwykłe liczby dziesiętne, niezależnie od systemu wejścia. NOT i odwrócenie kolejności bitów odczytują tylko wiersz 1.
Jak działają rotacja, odwracanie bitów i odwracanie kolejności?
Rotacja wypycha bity jednym końcem i wpycha je z powrotem drugim, w obrębie szerokości bitowej, więc rotacja bajtu w lewo o 1 zmienia 10010110 w 00101101. Odwrócenie bitów neguje pozycje z wiersza 2, przy czym najbardziej prawy bit to 0. Odwrócenie kolejności bitów lustrzanie odbija kolejność wszystkich bitów w danej szerokości.
Co się stanie, jeśli liczba jest zbyt duża na szerokość bitów?
Zawija się do tej szerokości dokładnie w taki sposób, jak w rejestrze — narzędzie informuje Cię o zawinięciu zamiast cichego obcięcia.
Jaka jest różnica między arytmetycznym a logicznym przesunięciem w prawo?
Przesunięcie logiczne wypełnia zwolnione górne bity zerami. Przesunięcie arytmetyczne wypełnia je bitem znaku, więc ujemna liczba ze znakiem pozostaje ujemna. Opcja dotyczy tylko przesunięcia w prawo ze znakowymi wartościami.
Czy moje dane wejściowe są gdzieś przesyłane?
Nie. Kalkulator bitowy działał całkowicie w przeglądarce — nic, co wpiszesz, nie jest wysyłane na serwer.