Kalkulator binarny

Dodawaj, odejmuj, mnoż i dziel liczby binarne, konwertuj na dziesiętne i stosuj operacje bitowe. Kalkulator binarny pokazuje wartości miejsc i uzupełnienie do dwóch.

01 kalkulator

Wyniki aktualizują się podczas wpisywania. Ctrl/Cmd+Enter kopiuje główny wynik.

Wynik

    Pokaż rozwiązanie

      Kalkulator binarny dodaje, odejmuje, mnoży i dzieli liczby w systemie 2, konwertuje między binarnym a dziesiętnym oraz stosuje bitowe AND, OR, XOR, NOT i przesunięcia. Każdy wynik zawiera odpowiednik dziesiętny i rozbicie kolumnowe, więc przeniesienia i pożyczki można sprawdzić ręcznie. Szerokość bitów można ustawić do pracy w uzupełnieniu do dwóch albo pozostawić bez ograniczeń dla dokładnej arytmetyki bez zawijania rejestru.

      Wszystkie obliczenia działają w przeglądarce. Nic z tego, co wpiszesz, nie trafia na serwer.

      Dodawaj, odejmuj, mnoż i dziel liczby binarne

      Concept diagram: Wejścia leads to Add, subtract, multiply and divide… leads to WynikWejściaAdd, subtract, multiplyand divide…Wynik
      Dodawaj, odejmuj, mnoż i dziel liczby binarne.

      Arytmetyka binarna używa tych samych reguł kolumnowych co dziesiętna, ale każde miejsce przechowuje tylko 0 lub 1, a próg przeniesienia to 2 zamiast 10. Wpisz dwa ciągi binarne, wybierz operację, a kalkulator zwróci wynik w binarnym z kontrolą dziesiętną obok. Wiodące zera są usuwane z wyniku, chyba że wybrano szerokość bitów.

      Dodawanie przenosi, gdy suma kolumny wynosi 2 lub więcej. Odejmowanie pożycza z wyższego bitu, gdy cyfra odjemnej jest mniejsza. Mnożenie i dzielenie stosują te same długie wzorce co w dziesiętnym, zbudowane ze przesunięć i dodawań. Nieprawidłowe cyfry, takie jak 2 lub A, są odrzucane od razu, bo nie są dozwolone w systemie 2.

      Konwertuj binarny na dziesiętny

      Scale bar: 1 binarny equals 1.43 dziesiętny1 binarny1.43 dziesiętny
      Konwertuj binarny na dziesiętny.

      Notacja pozycyjna zamienia ciąg binarny w liczbę całkowitą dziesiętną przez sumowanie każdego bitu pomnożonego przez potęgę dwójki. Najbardziej prawy bit to 2⁰ (wartość 1), następny to 2¹ (wartość 2), potem 4, 8, 16 i tak dalej. Wpisz 10111, a rozwinięcie to 16 + 0 + 4 + 2 + 1 = 23.

      1 0 1 1 1
      │ │ │ │ └─ 1 × 2⁰ = 1
      │ │ │ └─── 1 × 2¹ = 2
      │ │ └───── 1 × 2² = 4
      │ └─────── 0 × 2³ = 0
      └───────── 1 × 2⁴ = 16
                         = 23

      Każdy ciąg binarny akceptowany przez kalkulator konwertuje się w ten sposób. Grupowanie w półbajty po cztery bity ułatwia czytanie miejsc na głos: 1010 1010 jest czytelniejsze niż osiem cyfr bez przerwy przy sprawdzaniu maski podsieci lub pola bitowego uprawnień.

      Konwertuj dziesiętny na binarny

      Scale bar: 1 dziesiętny equals 1.4 binarny1 dziesiętny1.4 binarny
      Konwertuj dziesiętny na binarny.

      Powtarzane dzielenie przez 2 daje cyfry binarne jako reszty. Podziel wartość dziesiętną przez 2, zapisz resztę (0 lub 1), podziel iloraz ponownie i kontynuuj, aż iloraz wyniesie zero. Odczyt reszt od ostatniej do pierwszej daje formę binarną.

      Dla 23:

      KrokIlorazReszta
      23 ÷ 2111
      11 ÷ 251
      5 ÷ 221
      2 ÷ 210
      1 ÷ 201

      Odczyt reszt od dołu daje 10111. Kalkulator wykonuje tę konwersję w obie strony i pokazuje obie formy razem, więc źle wpisana cyfra jest widoczna przed krokiem arytmetycznym.

      Dodaj 10101010 i 11001100

      Concept diagram: Wejścia leads to Dodaj 10101010 i 11001100 leads to WynikWejściaDodaj 10101010 i11001100Wynik
      Dodaj 10101010 i 11001100.

      Dodawanie 10101010 i 11001100 to roboczy przykład dodawania kolumnowego z przeniesieniami. W dziesiętnym operandy to 170 i 204, a suma to 374, czyli 101110110 w binarnym. Starsze notatki z 110001110 były błędne; poniższa arytmetyka to poprawny wynik.

      1 1 1 1 1 0 0 0     carries
                  1 0 1 0 1 0 1 0   170
                + 1 1 0 0 1 1 0 0   204
                -----------------
                1 0 1 1 1 0 1 1 0   374

      Kolumna po kolumnie od prawej: 0+0=0, 1+0=1, 0+1=1, 1+1=0 przeniesienie 1, 0+0+przeniesienie=1, 1+0=1, 0+1=1, 1+1=0 przeniesienie 1, a końcowe przeniesienie zapisuje dziewiąty bit. Wynik dziewięciobitowy 101110110 odpowiada 256 + 0 + 64 + 32 + 16 + 0 + 4 + 2 + 0 = 374. Kalkulator binarny pokazuje ten wiersz przeniesień przy każdym dodawaniu, więc ręczna kontrola zgadza się z wynikiem.

      Odejmuj liczby binarne z pożyczką

      Concept diagram: Wejścia leads to Subtract binary numbers with… leads to WynikWejściaSubtract binary numberswith…Wynik
      Odejmuj liczby binarne z pożyczką.

      Odejmowanie binarne pożycza, gdy kolumna musi wziąć 1 od zera. Pożyczka z wyższego bitu zamienia bieżące 0 w 2 (binarne 10), a pożyczający traci 1. Jeśli ten pożyczający też jest 0, pożyczka propaguje się, aż znajdzie 1.

      Przykład: 1000 minus 0001.

      1 0 0 0
      - 0 0 0 1
      ---------
        0 1 1 1

      Najbardziej prawa kolumna pożycza przez trzy zera. Gdy łańcuch się ustabilizuje, każda pożyczona kolumna staje się 1, a najbardziej lewy bit, który pożyczył, staje się 0, zostawiając 0111 (dziesiętnie 7). Gdy ustawiono szerokość bitów i wynik miałby być ujemny, kalkulator może pokazać zawijanie uzupełnienia do dwóch zamiast nieograniczonej ujemnej wartości bezwzględnej. Tryb nieograniczony zachowuje dokładną liczbę całkowitą ze znakiem bez zawijania.

      Stosuj operacje bitowe

      Concept diagram: Wejścia leads to bitwise operations leads to WynikWejściabitwise operationsWynik
      Stosuj operacje bitowe.

      Operatory bitowe działają na każdym bicie niezależnie, a nie na ciągu jako jednej liczbie całkowitej. AND zwraca 1 tylko tam, gdzie oba wejścia to 1. OR zwraca 1, gdy którekolwiek wejście to 1. XOR zwraca 1, gdy bity się różnią. NOT odwraca każdy bit w wybranej szerokości. Przesunięcia przesuwają bity i wypełniają zerami albo bitem znaku przy arytmetycznym przesunięciu w prawo.

      ABANDORXOR
      00000
      01011
      10011
      11110

      Maska bitowa czyści lub zachowuje wybrane pola. value AND mask zeruje każdy bit, gdzie maska to 0. value OR flag ustawia bity. value XOR toggle odwraca wybrane bity bez dotykania reszty. Te wzorce występują we flagach uprawnień, rejestrach statusu i części sieciowej adresu IPv4 po zastosowaniu maski podsieci.

      Reprezentuj liczby ujemne w uzupełnieniu do dwóch

      Concept diagram: Wejścia leads to Represent negative numbers in two's… leads to WynikWejściaRepresent negativenumbers in two's…Wynik
      Reprezentuj liczby ujemne w uzupełnieniu do dwóch.

      Uzupełnienie do dwóch to standardowy sposób przechowywania ujemnych liczb całkowitych w binarnym o stałej szerokości. Dla rejestru n-bitowego neguj wartość, odwracając każdy bit i dodając jeden. Najwyższy bit to bit znaku: 0 dla nieujemnych, 1 dla ujemnych. Zakres dla n bitów to od −2ⁿ⁻¹ do 2ⁿ⁻¹ − 1.

      W 8 bitach +5 to 00000101. Odwróć do 11111010, dodaj jeden, aby otrzymać 11111011, czyli −5. Dodanie 00000101 i 11111011 daje 00000000 z przeniesieniem przepełnienia poza rejestr, co potwierdza negację. Bez szerokości nie ma stałego bitu znaku i uzupełnienie do dwóch jest niezdefiniowane; kalkulator wymaga więc szerokości (8, 16, 32 lub 64) przed pokazaniem form uzupełnienia.

      Przepełnienie występuje, gdy prawdziwy wynik matematyczny nie mieści się w wybranej szerokości. Kalkulator binarny oznacza zawijanie, aby cicho obcięta odpowiedź nie została uznana za dokładną.

      Czytaj tabelę wartości miejsc binarnych

      Number line from 0 to 100 with the value 39 marked025507510039
      Czytaj tabelę wartości miejsc binarnych.

      Wartości miejsc podwajają się na każdym kroku w lewo od kropki binarnej. Zapamiętanie pierwszych ośmiu wystarczy do większości pracy na poziomie bajtu: 1, 2, 4, 8, 16, 32, 64, 128. Cztery bity to półbajt; osiem bitów to bajt. Szesnaście bitów to słowo w wielu architekturach; 32 i 64 to dziś typowe rozmiary rejestrów.

      Indeks bituPotęgaWartość
      02⁰1
      12
      24
      38
      42⁴16
      52⁵32
      62⁶64
      72⁷128

      Pełny bajt jedynek, 11111111, to 255. Sam najwyższy bit, 10000000, to 128. Odczyt wartości jako sumy ustawionych wartości miejsc jest szybszy niż cyfra po cyfrze, gdy tabela jest znajoma, a widok rozwinięcia kalkulatora odpowiada tej kontroli w pamięci.

      Używaj binarnego w praktyce

      Concept diagram: Wejścia leads to binary in practice leads to WynikWejściabinary in practiceWynik
      Używaj binarnego w praktyce.

      Binarny pojawia się wszędzie tam, gdzie sprzęt lub protokoły ujawniają pola bitowe. Maski podsieci to 32-bitowe wzory wiodących jedynek. Tryby plików Unix pakują bity odczytu, zapisu i wykonania w dziewięć bitów uprawnień. Kanały koloru to często wartości 8-bitowe. Flagi CPU i rejestry urządzeń pakują stan logiczny w pojedyncze bity, więc maska może je testować lub czyścić bez dotykania sąsiadów.

      Adresy pamięci i instrukcje maszynowe są binarne pod każdym zrzutem szesnastkowym. Przy debugowaniu konwersja podejrzanego słowa flagowego na binarny i zestawienie go z kartą katalogową jest zwykle szybsze niż zgadywanie z formy dziesiętnej. Kalkulator utrzymuje powiązane widoki binarne i dziesiętne, więc ta podróż w obie strony pozostaje wiarygodna.

      Często zadawane pytania

      Jak dodawanie binarne tworzy przeniesienie?

      Przeniesienie pojawia się, gdy suma kolumny wynosi 2 lub więcej. Ponieważ każde miejsce przechowuje tylko 0 lub 1, suma 2 zapisuje 0 i przenosi 1 do następnej kolumny; suma 3 zapisuje 1 i przenosi 1. Proces jest identyczny jak przeniesienie dziesiętne przy 10, tylko z mniejszym progiem.

      Jak ręcznie konwertować binarny na dziesiętny?

      Pomnóż każdy bit przez jego potęgę dwójki i dodaj iloczyny. Najbardziej prawy bit ma wartość 1, potem 2, 4, 8 i tak dalej. Dla 10111 to 16 + 0 + 4 + 2 + 1 = 23. Kalkulator pokazuje to samo rozwinięcie przy każdej konwersji.

      Jak ręcznie konwertować dziesiętny na binarny?

      Dziel liczbę przez 2 wielokrotnie i zbieraj reszty. Każda reszta to następna cyfra binarna od prawej do lewej. Zatrzymaj się, gdy iloraz osiągnie zero, potem odczytaj reszty od ostatniej do pierwszej. Dziesiętne 23 staje się 10111 tą metodą.

      Czym jest uzupełnienie do dwóch?

      Uzupełnienie do dwóch reprezentuje ujemne liczby całkowite w stałej szerokości bitów przez odwrócenie bitów wartości bezwzględnej i dodanie jeden. Najwyższy bit działa jak znak. Dodanie liczby do jej uzupełnienia do dwóch daje zero w tej szerokości, dlatego procesory używają go do odejmowania.

      Czym jest maska bitowa?

      Maska bitowa to wzorzec binarny używany z AND, OR lub XOR, aby czyścić, ustawiać lub przełączać wybrane bity. AND z maską zachowuje bity, gdzie maska to 1, i zeruje resztę. OR ustawia bity. XOR je odwraca. Maski występują w uprawnieniach, flagach protokołów i rejestrach sprzętowych.

      Jaka jest różnica między przesunięciem w lewo a mnożeniem przez dwa?

      Przesunięcie w lewo o jedno miejsce mnoży wartość bez znaku przez dwa, o ile żaden bit nie wypadnie z rejestru. Przesunięcie w prawo o jedno dzieli przez dwa i odrzuca resztę. Przy stałej szerokości bity wypadające z końca giną; tryb nieograniczony wydłuża ciąg zamiast tego.

      Dlaczego szerokość bitów ma znaczenie dla NOT i negacji?

      NOT odwraca każdy bit w rejestrze. Bez zdefiniowanej szerokości nie ma skończonego zbioru bitów do odwrócenia, więc operacja jest bez sensu. Negacja w uzupełnieniu do dwóch też potrzebuje szerokości, aby bit znaku i zachowanie zawijania były zdefiniowane. Wybierz 8, 16, 32 lub 64, aby dopasować modelowany rejestr.

      Czym jest półbajt?

      Półbajt to cztery bity, połowa bajtu. Mapuje się czysto na jedną cyfrę szesnastkową, dlatego zrzuty szesnastkowe i kody kolorów grupują bity po czwórki. Wartości miejsc w półbajcie to 1, 2, 4 i 8, sumując się do 15, gdy wszystkie bity są ustawione.

      Czy Kalkulator binarny dzieli liczby binarne?

      Tak. Dzielenie zwraca iloraz w binarnym z kontrolą dziesiętną obok. Dzielenie przez zero jest odrzucane. Reszty stosują reguły dzielenia całkowitego, chyba że dla konkretnego problemu wybrano szerszy tryb precyzji.

      Czy kalkulator wysyła dane binarne na serwer?

      Nie. Cała arytmetyka i konwersja działają lokalnie w przeglądarce. Wartości wejściowe nie są przesyłane, co ma znaczenie, gdy ciągi pochodzą ze zrzutów pamięci, kluczy lub wewnętrznych adresów.

      Podsumowanie

      Kalkulator binarny wykonuje arytmetykę w systemie 2, konwertuje na dziesiętny i z powrotem przez potęgi dwójki oraz stosuje bitowe AND, OR, XOR, NOT i przesunięcia z opcjonalną szerokością rejestru. Dodanie 10101010 i 11001100 daje 101110110 (170 + 204 = 374), z przeniesieniami pokazanymi kolumna po kolumnie.

      Negacja w uzupełnieniu do dwóch i bitowe NOT wymagają szerokości bitów; tryb nieograniczony utrzymuje wyniki matematycznie dokładne. Wymienione są wartości miejsc, półbajty i bajty, aby ciągi binarne używane w maskach, uprawnieniach i flagach można było czytać bez zgadywania.