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.
Wyniki aktualizują się podczas wpisywania. Ctrl/Cmd+Enter kopiuje główny wynik.
Wynik
—
Widok bitów
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
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
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
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:
| Krok | Iloraz | Reszta |
|---|---|---|
| 23 ÷ 2 | 11 | 1 |
| 11 ÷ 2 | 5 | 1 |
| 5 ÷ 2 | 2 | 1 |
| 2 ÷ 2 | 1 | 0 |
| 1 ÷ 2 | 0 | 1 |
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
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ą
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
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.
| A | B | AND | OR | XOR |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
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
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
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 bitu | Potęga | Wartość |
|---|---|---|
| 0 | 2⁰ | 1 |
| 1 | 2¹ | 2 |
| 2 | 2² | 4 |
| 3 | 2³ | 8 |
| 4 | 2⁴ | 16 |
| 5 | 2⁵ | 32 |
| 6 | 2⁶ | 64 |
| 7 | 2⁷ | 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
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.