Przejdź do treści

Kalkulator binarny

Wpisz dwie liczby binarne, a otrzymasz sumę, różnicę, iloczyn lub iloraz — z przeniesieniami, pożyczkami, iloczynami częściowymi i krokami dzielenia pisemnego rozpisanymi kolumna po kolumnie. Przełącz na tryb bitowy, aby stosować AND, OR, XOR, NOT, przesunięcia i rotacje przy 4–128 bitach. Za darmo, bez rejestracji, a nic nie opuszcza przeglądarki.

Rodzaj działania

Tylko cyfry binarne, z opcjonalnym minusem na początku. Spacje i podkreślniki są ignorowane, więc 1011 0110 też działa.

Wynik

1 0010

Binarny

18

Dziesiętny

12

Szesnastkowy

22

Ósemkowy

5 bitów

Długość

Obliczenia

Dodawanie kolumnowe z przeniesieniami
Wiersz43210
Przeniesienie wejściowe11010
A01101
B00101
Suma10010

Jak korzystać z kalkulatora binarnego

  1. 1. Wybierz rodzaj działania. Arytmetyczne dodaje, odejmuje, mnoży lub dzieli. Bitowe działa na pojedynczych bitach wzorców o stałej szerokości.
  2. 2. Wpisz swoje liczby. Używaj tylko 0 i 1. Wiodący minus, prefiks 0b, spacje i podkreślniki są dozwolone, więc 1011 0110 zostanie odczytane jako jedna liczba.
  3. 3. Wybierz szerokość (tylko w trybie bitowym). NOT, przesunięcia i rotacje nie mają sensu bez szerokości, dlatego kalkulator o nią pyta: 4, 8, 16, 32, 64 lub 128 bitów.
  4. 4. Odczytaj wynik i obliczenia. Wynik pojawia się w systemie binarnym, dziesiętnym, szesnastkowym i ósemkowym, a pod nim obliczenia kolumnowe.

Jak działa dodawanie binarne

Dodawanie binarne stosuje te same reguły kolumnowe co dodawanie dziesiętne, ale kolumna przepełnia się przy 2, a nie przy 10. Dodaj dwa bity w kolumnie oraz przeniesienie, które przyszło z prawej. Jeśli suma wynosi 0 lub 1, zapisz ją. Jeśli wynosi 2 lub 3, zapisz niski bit (0 lub 1), a 1 przenieś do następnej kolumny.

Cztery przypadki jednej kolumny
Suma kolumnyZapisany bitPrzeniesienie
0 + 0 + 0 = 000
1 + 0 + 0 = 110
1 + 1 + 0 = 10 (2)01
1 + 1 + 1 = 11 (3)11

Weź 1101 (13) plus 101 (5). Kalkulator dopełnia obie liczby do pięciu kolumn i pokazuje przeniesienie wchodzące do każdej z nich — 11010 czytane od lewej do prawej — co daje 10010, czyli 18. Wiersz przeniesień to część, którą ludzie gubią, dodając ręcznie.

Odejmowanie, mnożenie i dzielenie

Odejmowanie działa w odwrotnym kierunku: gdy kolumna wymaga 1 − 1 − 1 lub 0 − 1, pożycza 1 z kolumny po lewej, która tutaj jest warta 2. 1000 − 0011 pokazuje pożyczkę przechodzącą przez trzy kolumny i kończy się na 0101 (8 − 3 = 5). Gdy A jest mniejsze od B, kalkulator odejmuje mniejszą liczbę od większej i nadaje wynikowi znak minus.

Mnożenie to przesunięcie i dodawanie. Każda jedynka w mnożniku wnosi kopię mnożnej, przesuniętą w lewo o pozycję tego bitu, a zero nic nie wnosi. Dla 1011 × 101 (11 × 5) jedynki stoją na pozycjach 0 i 2, więc iloczyny częściowe to 1011 i 101100, a ich suma to 110111 — 55.

Dzielenie to dzielenie pisemne z bardzo prostym krokiem zgadywania. Znoś jeden bit dzielnej naraz; jeśli dzielnik mieści się w tym, co masz, odejmij go i zapisz 1 w ilorazie, w przeciwnym razie zapisz 0. 1100100 ÷ 111 (100 ÷ 7) daje iloraz 1110 (14) i resztę 10 (2). Przy ujemnych argumentach iloraz obcina się w stronę zera, a reszta przyjmuje znak A — jak w C, Java i JavaScript.

Działania bitowe przy wybranej szerokości

Działania bitowe na dwóch wejściach
ABANDORXORNANDNORXNOR
00000111
01011100
10011100
11110001

Dla 1100 i 1010 przy 4 bitach AND daje 1000, OR daje 1110, a XOR daje 0110. NOT odwraca każdy bit w obrębie szerokości, więc ten sam 1100 staje się 0011 przy 4 bitach, ale 11110011 przy 8 bitach — dlatego szerokość ma znaczenie.

Przesunięcie w lewo o n przesuwa każdy bit o n miejsc w górę i wypełnia zerami; bity, które wypadają na górze, są tracone, a kalkulator je wypisuje. Logiczne przesunięcie w prawo wypełnia zerami. Arytmetyczne przesunięcie w prawo kopiuje najwyższy bit, więc liczba ujemna pozostaje ujemna: 10110110 przesunięte w prawo o 2 to 00101101 logicznie, ale 11101101 (−19) arytmetycznie. Rotacje zawijają bity wypadające z jednego końca z powrotem na drugi, więc nic nie ginie.

Brak przepełnienia w trybie arytmetycznym

Arytmetyka jest tutaj dokładna przy dowolnej długości, więc 11111111 + 1 to 100000000, a nie 0. Sprzęt utrzymuje stałą liczbę bitów i zawija wynik. Aby zobaczyć to zachowanie — i związane z nim zakresy ze znakiem — użyj Kalkulatora uzupełnienia do dwóch.

Częste błędy

  • Zapominanie o przeniesieniu do najbardziej lewej kolumny. Dodanie dwóch 8-bitowych liczb może dać 9-bitowy wynik. Kalkulator zachowuje dodatkową kolumnę.
  • Mylenie logicznego i arytmetycznego przesunięcia w prawo. Zgadzają się dla liczb dodatnich, a różnią się dla każdego wzorca, którego najwyższy bit to 1. Języki się różnią: >> w Javie jest arytmetyczne, a >>> logiczne, podczas gdy w C >> na ujemnej liczbie ze znakiem zależy od kompilatora (w popularnych jest arytmetyczne).
  • Przypadkowe odczytanie wzorca bitowego jako liczby ze znakiem. 11110011 to 243 bez znaku i −13 w uzupełnieniu do dwóch. Wyniki bitowe pokazują oba, abyś wiedział, o które chodzi.
  • Zakładanie, że NOT nie zależy od szerokości. W nieograniczonej liczbie całkowitej NOT z 12 to −13. W ustalonej szerokości jest to wzorzec dopełnienia, który zwraca ten kalkulator.

Najczęstsze pytania

Jak dodawać liczby binarne?
Pracuj od prawej kolumny w lewo, dodając dwa bity i ewentualne przeniesienie. Suma kolumny 0 lub 1 zapisuje się bez zmian; suma 2 zapisuje się jako 0 z przeniesieniem 1, a suma 3 jako 1 z przeniesieniem 1. Na przykład 1101 + 101 = 10010. Kalkulator pokazuje przeniesienie wchodzące do każdej kolumny.
Jak odejmować liczby binarne?
Odejmuj kolumna po kolumnie od prawej. Gdy kolumna zeszłaby poniżej zera, pożycz 1 z następnej kolumny po lewej, co dodaje 2 do bieżącej kolumny. Jeśli druga liczba jest większa, odejmij w drugą stronę i postaw minus przed wynikiem. 1000 − 11 = 101 (8 − 3 = 5).
Czym różni się logiczne przesunięcie w prawo od arytmetycznego?
Logiczne przesunięcie w prawo wypełnia opróżnione najwyższe bity zerami, więc traktuje wzorzec jak liczbę bez znaku. Arytmetyczne przesunięcie w prawo kopiuje oryginalny najwyższy bit, więc ujemna liczba w uzupełnieniu do dwóch pozostaje ujemna. Oba dzielą wartość przez dwa, ale tylko arytmetyczne zachowuje poprawny kierunek zaokrąglania dla wartości ujemnych.
Co robią AND, OR i XOR?
Porównują dwa wzorce bitowe kolumna po kolumnie. AND daje 1 tylko tam, gdzie oba bity są 1; OR daje 1 tam, gdzie co najmniej jeden bit jest 1; a XOR daje 1 tam, gdzie dokładnie jeden bit jest 1. AND służy do maskowania bitów, OR do ustawiania bitów, a XOR do ich odwracania lub do porównywania różnic.
Czy ten kalkulator obsługuje ujemne liczby binarne?
W trybie arytmetycznym tak: postaw minus przed liczbą, a reguły znaków zostaną zastosowane do dokładnego wyniku. Tryb bitowy przyjmuje natomiast zwykłe wzorce bitowe, ponieważ wzorzec liczby ujemnej zależy od szerokości. Aby znaleźć wzorzec dla wartości ujemnej, użyj Kalkulatora uzupełnienia do dwóch.
Jak duża liczba binarna może być wpisana?
Nie ma stałego limitu, bo arytmetyka opiera się na liczbach całkowitych o dowolnej precyzji. Obliczenia kolumnowe są rysowane dla argumentów do 64 bitów; powyżej tej długości nadal dostajesz dokładny wynik, ale bez tabeli kroków. Operacje bitowe są ograniczone do wybranej szerokości, do 128 bitów.

Powiązane narzędzia

Więcej z kategorii Dane, znaczniki i kod