Przejdź do wyników
Nauka i matematyka

Kalkulator binarny

Konwertuj liczby między BIN/DEC/HEX oraz wykonuj proste operacje bitowe w zadanej szerokości słowa.

Opracował: DobryKalkulator.pl

Dane wejściowe

Wpisz liczbę A, wybierz podstawę i (opcjonalnie) operację.

Wejście
np. 1010 / 0b1010 / 10 / 0xFF
bity
Operacja

Jak działa kalkulator

Kalkulator przelicza liczbę A między zapisem dwójkowym (BIN), dziesiętnym (DEC) i szesnastkowym (HEX) oraz wykonuje na niej operacje bitowe w zadanej szerokości słowa: 8, 16, 32 lub 64 bity. W polu „Liczba A” akceptowane są prefiksy 0b/0x/0o, znak minus oraz separatory (spacja, _, '). Opcjonalnie wybierasz operację: A + B, A − B, A AND B, A OR B, A XOR B albo przesunięcie A << n / A >> n, pola „Liczba B” i „n” pojawiają się tylko wtedy, gdy są potrzebne. Wyniki: kafelek „Wynik” w wybranym formacie (domyślnie DEC), pełne reprezentacje A, B i wyniku w DEC/BIN/HEX, zakres wartości dla N bitów, widok bajtów (HEX i BIN, big- lub little-endian) oraz metryki bitowe: liczba jedynek, indeks najwyższego i najniższego ustawionego bitu.

Jak liczymy (metodologia i wzory)

Krok 1: wczytanie liczby

Wpis jest oczyszczany z separatorów (spacje, _, '). Prefiks 0b, 0o lub 0x ma pierwszeństwo przed wybraną podstawą; bez prefiksu obowiązuje pole „Podstawa wejścia” (BIN/DEC/HEX, domyślnie BIN). Cyfry są walidowane względem podstawy, np. 2 w trybie BIN zwraca błąd „Niepoprawne znaki dla podstawy”. Obliczenia działają na liczbach całkowitych dowolnej precyzji (BigInt), więc nie występują żadne zaokrąglenia.

Krok 2: sprowadzenie do słowa N-bitowego

Wartość jest maskowana: u = x AND (2^N − 1), czyli x modulo 2^N. W trybie „Ze znakiem (U2)” interpretacja dziesiętna to s = u − 2^N, gdy bit N−1 jest ustawiony, inaczej s = u. Zakresy: unsigned 0 … 2^N − 1, signed −2^(N−1) … 2^(N−1) − 1 (dla N=8: 0…255 oraz −128…127). Jeśli wpisana wartość nie mieści się w słowie, w wynikach pojawia się uwaga „A/B zawinięte do szerokości słowa”.

Krok 3: operacja

OperacjaWzór
A + B(uA + uB) mod 2^N
A − B(uA − uB) mod 2^N
AND / OR / XORbit po bicie na wartościach zamaskowanych do N bitów
A << n(uA · 2^n) mod 2^N
A >> n (unsigned)przesunięcie logiczne: floor(uA / 2^n)
A >> n (signed U2)przesunięcie arytmetyczne: powiela bit znaku, potem maska do N bitów

Krok przesunięcia n jest przycinany do zakresu 0…N, a szerokość słowa do 1…64 bitów (formularz udostępnia 8/16/32/64). Metryki bitowe: liczba jedynek (popcount) oraz indeks najwyższej i najniższej jedynki (numeracja od 0; dla zera „-”).

Krok 4: formatowanie wyniku

Każdy z poniższych parametrów to wartość domyślna, można zmienić w trybie zaawansowanym (panel „Ustawienia wyjścia”): format główny DEC (do wyboru BIN/HEX), prefiksy 0b/0x wyłączone, grupowanie cyfr co 4 znaki od prawej (zakres 0–16, 0 wyłącza), dopełnianie zerami do N bitów dla BIN i ⌈N/4⌉ znaków dla HEX włączone, HEX wielkimi literami włączone, kolejność bajtów big-endian. Tryb little-endian odwraca kolejność bajtów wyłącznie wtedy, gdy dopełnianie jest włączone i N jest wielokrotnością 8.

FAQ

Jak zamienić liczbę binarną na dziesiętną?

Każdą cyfrę mnoży się przez potęgę dwójki odpowiadającą jej pozycji i sumuje. Kalkulator przelicza między systemami BIN, DEC i HEX, rozpoznając też prefiksy 0b, 0o i 0x.

Jakie systemy liczbowe obsługuje kalkulator?

Dwójkowy (BIN), ósemkowy (0o), dziesiętny (DEC) i szesnastkowy (HEX). Prefiks 0b/0o/0x ma pierwszeństwo przed wybraną podstawą wejścia.

Co oznacza błąd niepoprawnej cyfry?

Cyfrę spoza zakresu podstawy, np. cyfra 2 w systemie binarnym (dozwolone tylko 0 i 1) albo litera poza A–F w systemie szesnastkowym.

Założenia i ograniczenia

  • Kalkulator działa wyłącznie na liczbach całkowitych, nie obsługuje ułamków ani liczb zmiennoprzecinkowych (IEEE 754).
  • Wynik każdej operacji jest po cichu zawijany modulo 2^N, kalkulator nie ustawia flag przepełnienia (carry/overflow/zero), jakie zna realny procesor; to model arytmetyki, nie emulator CPU.
  • Minus przed liczbą (np. -0b1010) oznacza wartość ujemną maskowaną do U2 (−10 przy N=8 daje 246), a nie „bit znaku w zapisie”, gotowy zapis U2 wpisz bez minusa i włącz tryb „Ze znakiem”.
  • Podstawa ósemkowa działa tylko przez prefiks 0o; nie ma jej ani w wyborze „Podstawa wejścia”, ani w formatach wyjścia.
  • Zamiana kolejności bajtów (little-endian) jest czysto prezentacyjna, nie zmienia wartości liczbowej i działa tylko przy włączonym dopełnianiu oraz N podzielnym przez 8.
  • Krok przesunięcia n większy niż N jest przycinany do N bez komunikatu, a dla liczby B nie da się ustawić innej podstawy niż podstawa liczby A.

Źródła i aktualizacja

Umieść ten kalkulator na swojej stronie

Skopiuj kod i wklej go w swoim artykule, kalkulator zadziała u Ciebie, a pod nim pojawi się link do źródła. Za darmo, bez rejestracji.

Motyw: