Konwerter binarny/szesnastkowy

Konwertuj liczby między systemem binarnym, szesnastkowym, dziesiętnym i ósemkowym — lub zamieniaj tekst na bajty.

Gotowe. Wpisz liczbę lub tekst do konwersji.

Każda konwersja odbywa się w Państwa przeglądarce. Liczby i teksty nigdy nie opuszczają Państwa urządzenia.

FAQ

Co można tutaj konwertować?

Dwie rzeczy. Tryb liczbowy (Number) łączy systemy: binarny, ósemkowy, dziesiętny i szesnastkowy — edycja dowolnego pola natychmiast aktualizuje pozostałe. Tryb tekstowy (Text) zamienia dowolny tekst na wartości bajtowe w wybranym systemie liczbowym oraz odczytuje te bajty z powrotem jako tekst.

Czy narzędzie obsługuje liczby ujemne i bardzo duże?

Tak. Liczby ujemne zachowują wiodący minus w każdym systemie, a konwersja nie ma ograniczeń wielkości — wartości są konwertowane dokładnie, bez zaokrągleń. Nie ma stałego widoku kodu uzupełnień do dwóch (U2), ponieważ ma on sens dopiero po określeniu szerokości bitowej.

Czy moje dane wejściowe są gdzieś wysyłane?

Nie. Wszystko jest obliczane lokalnie w przeglądarce, więc nic, co Państwo wpisują, nie jest przesyłane na serwer.

Konwersja między systemami liczbowymi: binarnym, ósemkowym, dziesiętnym i szesnastkowym

Praca z danymi na poziomie maszynowym wymaga ciągłego przechodzenia między różnymi systemami zapisu liczb. Komputery operują na systemie dwójkowym (binarnym), podczas gdy ludzie naturalnie posługują się systemem dziesiętnym. Systemy ósemkowy oraz szesnastkowy (hex) stanowią skrócone formy zapisu ciągów bitów, ułatwiające analizę adresów pamięci, masek sieciowych czy kodów kolorów.

W trybie liczbowym narzędzie umożliwia natychmiastowe tłumaczenie wartości pomiędzy czterema podstawowymi bazami:

  • Dwójkowy (binarny): podstawa 2, używa cyfr 0 i 1.
  • Ósemkowy: podstawa 8, używa cyfr od 0 do 7.
  • Dziesiętny: podstawa 10, standardowy system zapisu.
  • Szesnastkowy (hex): podstawa 16, używa cyfr 0–9 oraz liter A–F (narzędzie generuje wyjście zapisane wielkimi literami).

Edycja dowolnego z tych pól automatycznie i bez opóźnień aktualizuje pozostałe trzy. Wprowadzane liczby mogą zawierać znaki ułatwiające czytelność, takie jak spacje, podkreślenia (separatory) oraz standardowe przedrostki systemowe: 0b dla liczb binarnych, 0o dla ósemkowych oraz 0x dla szesnastkowych. Dopuszczalne jest również stosowanie wiodącego znaku minus dla liczb ujemnych.

Precyzja obliczeń i obsługa wielkich liczb

Wiele kalkulatorów online napotyka ograniczenia podczas konwersji bardzo dużych liczb, co wynika z domyślnego stosowania zmiennoprzecinkowych typów danych i prowadzi do błędów zaokrągleń. Niniejsze narzędzie eliminuje ten problem poprzez wykorzystanie mechanizmu BigInt, który pozwala na przetwarzanie liczb o dowolnej precyzji.

  • Brak zaokrągleń: Wszystkie konwersje są wykonywane dokładnie, bez utraty najmniej znaczących cyfr.
  • Limit długości: Narzędzie obsługuje liczby całkowite o długości do 4096 znaków.
  • Liczby ujemne: W przypadku wprowadzenia wartości ujemnej, wiodący minus jest zachowywany we wszystkich systemach liczbowych. Narzędzie nie narzuca automatycznie zapisu w kodzie uzupełnień do dwóch (U2), ponieważ poprawna interpretacja takiego zapisu wymaga uprzedniego zdefiniowania szerokości bitowej rejestru.

W przypadku wpisania znaku niedozwolonego dla danego systemu (np. cyfry 8 w polu ósemkowym lub litery G w polu szesnastkowym), narzędzie wyświetli komunikat o błędzie: „Nieprawidłowa liczba dla tego systemu — proszę sprawdzić, czy nie zawiera niedozwolonych cyfr.”.

Kodowanie tekstu na bajty i dekodowanie bajtów

Poza konwersją samych liczb, narzędzie obsługuje tryb tekstowy, który pozwala na analizę struktury danych na poziomie bajtów. Tekst wejściowy jest kodowany przy użyciu standardu UTF-8, w którym każdy znak może być reprezentowany przez jeden lub więcej bajtów.

Kierunek: Tekst → Bajty

Wprowadzony tekst (maksymalnie do 200 000 znaków) zostaje rozbity na poszczególne bajty. Użytkownik może wybrać, w jakim systemie liczbowym mają zostać zaprezentowane te wartości:

  • Dwójkowy (binarny): Każdy bajt jest dopełniany wiodącymi zerami do długości 8 bitów.
  • Ósemkowy: Każdy bajt jest dopełniany wiodącymi zerami do długości 3 bitów.
  • Szesnastkowy (hex): Każdy bajt jest dopełniany wiodącymi zerami do długości 2 bitów.
  • Dziesiętny: Wartości bajtów (od 0 do 255) są wyświetlane bez wiodących zer.

Po zakończeniu tego procesu status narzędzia zmienia się na „Zakodowano.”. Jeśli tekst przekroczy dopuszczalny limit, pojawi się komunikat: „Dane są zbyt długie dla tego narzędzia — spróbuj wprowadzić krótsze dane.”.

Kierunek: Bajty → Tekst

Proces odwrotny pozwala na rekonstrukcję tekstu z ciągu liczbowego reprezentującego bajty. Wprowadzane kody bajtów mogą być rozdzielane spacjami, tabulacjami, przejściami do nowej linii lub przecinkami. Każda wprowadzona wartość musi mieścić się w przedziale od 0 do 255 w wybranej bazie liczbowej.

Podczas dekodowania mogą wystąpić następujące błędy:

  • Wprowadzenie znaków niedozwolonych dla wybranego systemu lub wartości spoza zakresu 0–255 skutkuje komunikatem: „Nieprawidłowe kody bajtów — każda wartość musi mieścić się w zakresie jednego bajtu (0–255) w wybranym systemie.”.
  • Wprowadzenie ciągu bajtów, który nie tworzy poprawnej sekwencji znaków w kodowaniu UTF-8, wywoła błąd: „Te bajty nie stanowią poprawnego kodu UTF-8, dlatego nie można ich wyświetlić jako tekst.”.

Po pomyślnym zdekodowaniu bajtów na tekst, status narzędzia zmienia się na „Zdekodowano.”.

Prywatność i bezpieczeństwo danych

Przetwarzanie danych w narzędziach online często wiąże się z ryzykiem przechwycenia wprowadzanych informacji przez serwery pośredniczące. W przypadku tego konwertera proces ten został zaprojektowany z myślą o pełnej lokalności.

Każda konwersja odbywa się w Państwa przeglądarce. Liczby i teksty nigdy nie opuszczają Państwa urządzenia. Kod JavaScript odpowiedzialny za obliczenia działa bezpośrednio na komputerze lub telefonie użytkownika, co eliminuje potrzebę wysyłania jakichkolwiek zapytań sieciowych zawierających wpisane dane.

Często zadawane pytania (FAQ)

Co można tutaj konwertować? Dwie rzeczy. Tryb liczbowy łączy systemy: binarny, ósemkowy, dziesiętny i szesnastkowy — edycja dowolnego pola natychmiast aktualizuje pozostałe. Tryb tekstowy (Text) zamienia dowolny tekst na wartości bajtowe w wybranym systemie liczbowym oraz odczytuje te bajty z powrotem jako tekst.

Czy narzędzie obsługuje liczby ujemne i bardzo duże? Tak. Liczby ujemne zachowują wiodący minus w każdym systemie, a konwersja nie ma ograniczeń wielkości — wartości są konwertowane dokładnie, bez zaokrągleń. Nie ma stałego widoku kodu uzupełnień do dwóch (U2), ponieważ ma on sens dopiero po określeniu szerokości bitowej.

Czy moje dane wejściowe są gdzieś wysyłane? Nie. Wszystko jest obliczane lokalnie w przeglądarce, więc nic, co Państwo wpisują, nie jest przesyłane na serwer.

Dlaczego po wpisaniu bajtów nie widzę tekstu, tylko błąd UTF-8? Standard UTF-8 wymaga, aby określone sekwencje bajtów były zgodne z regułami kodowania wielobajtowego. Jeśli wprowadzony ciąg bajtów zawiera wartości, które nie tworzą poprawnego punktu kodowego Unicode w tym standardzie, dekoder odrzuci je i wyświetli błąd informujący, że bajty te nie stanowią poprawnego kodu UTF-8.