Kalkulator binarny, ósemkowy i szesnastkowy
Obliczaj działania w systemach binarnym, ósemkowym i szesnastkowym oraz natychmiastowo konwertuj wynik do wszystkich formatów jednocześnie – BIN, OCT, DEC i HEX.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Podstawa
cyfry 0–9 i A–F (walidator regexem ^[0-9A-F]+$)
Operacja
A i B muszą być w tym samym systemie
Wynik
zapis w wybranej podstawie
Dziesiętnie
ten sam wynik w systemie 10
Dane surowe (JSON)
{
"base_key": "hex",
"base_label": "Hexadecimal (base 16)",
"op_key": "add",
"op_label": "Add (A + B)",
"primary": "0x1B3E",
"dec": "6974",
"bin": "0b1101100111110",
"oct": "0o15476",
"hex": "0x1B3E",
"text": "Base: Hexadecimal (base 16)\nOperation: Add (A + B)\nA: 0x1A3F\nB: 0xFF\n\nResult:\n Primary: 0x1B3E\n Decimal: 6974\n Binary: 0b1101100111110\n Octal: 0o15476\n Hex: 0x1B3E"
}
| Element | Jak działa (reguła z kodu) |
|---|---|
| Operacje | dokładnie dwie: dodawanie (A + B) i odejmowanie (A − B). Brak AND/OR/XOR/NOT — to kalkulator arytmetyczny, nie bitowy |
| Systemy | jedna podstawa dla A i B: bin (2), oct (8) albo hex (16); walidator regexem ^[0-1]+$ / ^[0-7]+$ / ^[0-9A-F]+$ odrzuca obce cyfry |
| Wczytywanie liczby | opcjonalny znak „−" na początku, usunięcie spacji, tabów i podkreśleń, prefiksy 0b/0o/0x zdejmowane tylko gdy pasują do podstawy, wiodące zera obcinane |
| Arytmetyka | własna arytmetyka dziesiętna na cyfrach w stringach: decAdd z przeniesieniem, decSub z pożyczką — dowolna precyzja, bez floatów, długie liczby nie tracą cyfr |
| Konwersja baz | z dziesiętnego do wybranej bazy przez kolejne dzielenia z resztą (decDivMod), z bazy do dziesiętnego przez mnożenie i dodawanie cyfry po cyfrze (baseToDec — schemat Hornera) |
| Wynik | jednocześnie w 4 zapisach: podstawa wybrana (Primary), dziesiętny, binarny, ósemkowy i szesnastkowy; wynik ujemny to zwykły znak „−" przed liczbą, nie kod U2 |
| Opcje | checkboxy: prefiksy 0b/0o/0x oraz wielkie litery hex (A–F); w przykładzie silnika domyślnie oba włączone |
| Limity | każda liczba do 5000 znaków (limit wc_tool), wynik do ok. 5 MB; wyjście poza limit kończy się komunikatem o zbyt dużym wyniku |
| Przypadek | Wynik (Primary) | Dziesiętnie | Pozostałe zapisy |
|---|---|---|---|
| 0x1A3F + 0xFF — przykład domyślny | 0x1B3E | 6974 dziesiętnie | bin 0b1101100111110, oct 0o15476 |
| 1010 + 11 (binarnie) | 0b1101 | 13 dziesiętnie | bin 0b1101, oct 0o15 |
| 777 + 1 (ósemkowo) | 0o1000 | 512 dziesiętnie | bin 0b1000000000, oct 0o1000 |
| 0xFF − 0x1A3F — wynik ujemny | -0x1940 | -6464 dziesiętnie | bin -0b1100101000000, oct -0o14500 |
| 100000 − 1 (binarnie) | 0b11111 | 31 dziesiętnie | bin 0b11111, oct 0o37 |
Warto wiedzieć — kalkulator systemów liczbowych
Systemy pozycyjne w pigułce
Wartość cyfry zależy od pozycji: 0x1A3F to 1·4096 + 10·256 + 3·16 + 15 = 6974. Ósemka łączy po 3 bity (0o7 = 0b111), szesnastka po 4 (0xF = 0b1111), dlatego hex to naturalny „skrót" zapisu binarnego.
Skąd wynik w 4 bazach
Silnik sprowadza obie liczby do jednego zapisu dziesiętnego (mnożenie i dodawanie cyfra po cyfrze), sumuje/odejmuje na cyfrach dziesiętnych, a potem dzieli z resztą dla każdej bazy. Stąd Primary, DEC, BIN, OCT i HEX to zawsze ten sam wynik, nie osobne przybliżenia.
Dowolna precyzja
Kalkulator nie używa floatów — dodawanie i odejmowanie robi „podługową" arytmetyką na cyfrach w stringach, więc nawet liczby dłuższe niż 64 bity nie tracą cyfr. Wynik ujemny oznaczany jest zwykłym znakiem „−", a nie kodem U2.
A maski bitowe?
Operacji AND/OR/XOR tu nie znajdziesz — zapis hex/binarny przydaje się jednak do masek: 0xFF to 0b11111111 (dolny bajt), 0x0F dolny półbajt. Same operacje bitowe wykonaj w kodzie (&, |, ^, ~), a tu przelicz i sprawdź arytmetykę na wartościach maski.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćKalkulator binarny, ósemkowy i szesnastkowy
Darmowe narzędzie online do wykonywania obliczeń arytmetycznych w systemach liczbowych BIN (dwójkowym), OCT (ósemkowym) i HEX (szesnastkowym) z natychmiastową konwersją wyniku do wszystkich czterech formatów. Przeznaczone dla programistów, studentów elektroniki i każdego, kto pracuje blisko sprzętu lub protokołów sieciowych.
Do czego służy
Kalkulator pozwala dodawać i odejmować liczby zapisane w wybranym systemie liczbowym – binarnym (podstawa 2), ósemkowym (podstawa 8) lub szesnastkowym (podstawa 16). Wynik jest automatycznie prezentowany we wszystkich czterech systemach jednocześnie: DEC, BIN, OCT i HEX. Obsługuje liczby ze standardowymi prefiksami (0b, 0o, 0x) oraz duże i małe litery hex. Doskonałe przy debugowaniu rejestrów mikrokontrolerów, maskach sieciowych, wartościach RGB czy operacjach na bitach.
Jak używać
1. Wybierz system liczbowy (binarny, ósemkowy lub szesnastkowy). 2. Podaj dwie liczby A i B – możesz używać prefiksów (0x1A3F) lub samych cyfr. 3. Wybierz operację: dodawanie lub odejmowanie. 4. Opcjonalnie zaznacz dodawanie prefiksu i format wielkich liter dla hex. 5. Kliknij Oblicz – wynik pojawi się w dużej karcie z rozkładem BIN/OCT/DEC/HEX i przyciskami Kopiuj.
Systemy liczbowe – podstawy
Binarny (BIN, podstawa 2) – używa tylko cyfr 0 i 1. To natywny język procesorów i układów cyfrowych. Każdy bit reprezentuje potęgę 2. Np. 1101₂ = 1×8 + 1×4 + 0×2 + 1×1 = 13₁₀.
Ósemkowy (OCT, podstawa 8) – cyfry 0–7. Jeden symbol ósemkowy odpowiada dokładnie 3 bitom binarnym, co czyni go wygodnym w systemach Unix (uprawnienia plików: chmod 755 = 111 101 101₂). Prefiks: 0o lub 0.
Dziesiętny (DEC, podstawa 10) – standard codzienny. Wszystkie wyniki kalkulatora są zawsze przeliczane do DEC, aby ułatwić weryfikację.
Szesnastkowy (HEX, podstawa 16) – cyfry 0–9 i litery A–F. Jeden symbol hex = 4 bity (nibble). Powszechny w programowaniu: adresy pamięci, kolory RGB (#FF6600), protokoły sieciowe, rejestry CPU. Prefiks: 0x.
Konwersje między systemami – schemat
Konwersja dowolnej liczby: najpierw przelicz na DEC (dodając wartości pozycyjne), następnie z DEC do docelowej bazy przez kolejne dzielenia i zbieranie reszty. Nasz kalkulator robi to automatycznie przy każdym obliczeniu – każdy wynik widzisz równocześnie w BIN, OCT, DEC i HEX.
Operacje bitowe a arytmetyczne
Kalkulator wykonuje arytmetyczne dodawanie i odejmowanie liczb w wybranej bazie. Dla operacji bitowych (AND, OR, XOR, NOT, przesunięcia) warto skorzystać z dedykowanego kalkulatora operacji bitowych. Zrozumienie różnicy jest kluczowe: 0b1010 + 0b0110 = 0b10000 (arytmetyka), podczas gdy 0b1010 AND 0b0110 = 0b0010 (bitowy).
Zastosowania programistyczne
Konwerter binarny hex octal jest niezbędny przy: analizie dump pamięci, pracy z protokołami Modbus/CAN/I2C, ustawianiu rejestrów mikrokontrolerów AVR/STM32/ESP32, obliczaniu sum kontrolnych CRC, pracy z kolorami CSS (hex → dziesiętne RGB), konfigurowaniu uprawień systemów plików Linux/Unix (chmod w systemie ósemkowym).
Najczęstsze pytania
Jak wpisać liczbę ujemną?
Wpisz znak minus przed liczbą, np. -0x1A lub -101. Kalkulator poprawnie obsługuje znaki i zwróci wynik ze znakiem we wszystkich formatach.
Czy mogę wpisywać liczby z prefiksem 0x lub 0b?
Tak. Kalkulator automatycznie rozpoznaje prefiksy 0b (binarny), 0o (ósemkowy) i 0x (szesnastkowy) i je usuwa przed obliczeniem. Możesz też wpisać same cyfry bez prefiksu.
Jaka jest maksymalna wielkość liczby?
Kalkulator używa arytmetyki na łańcuchach dziesiętnych bez limitu platformy, więc obsługuje bardzo duże liczby – znacznie przekraczające zakres 64-bitowego int. Praktyczne ograniczenie to kilka tysięcy cyfr.
Czym różni się system ósemkowy od binarnego?
System ósemkowy (podstawa 8) ma 8 cyfr (0–7) i jest 3× bardziej zwarty niż binarny – każda cyfra ósemkowa to dokładnie 3 bity. System binarny (podstawa 2) ma tylko 0 i 1 i jest bezpośrednim językiem sprzętu.
Czy wynik jest poprawny dla liczb z przecinkiem?
Kalkulator obsługuje wyłącznie liczby całkowite. Liczb zmiennoprzecinkowych (z przecinkiem) nie obsługuje – do konwersji float użyj dedykowanego narzędzia IEEE 754.