Jak używać
- Wybierz system liczbowy użytej liczby: binarny, ósemkowy, dziesiętny, szesnastkowy lub inny o podstawie od 2 do 36.
- Wpisz lub wklej liczbę. Możesz używać prefiksów, takich jak 0x, i separatorów, takich jak _.
- Wyświetl liczbę jednocześnie we wszystkich systemach i skopiuj potrzebny zapis.
- Użyj ostatniego wiersza, aby przekonwertować liczbę do dowolnego innego systemu, na przykład o podstawie 36, przydatnego do krótkich identyfikatorów.
Jak to działa
W pozycyjnym systemie liczbowym wartość zapisuje się jako cyfry pomnożone przez potęgi podstawy systemu. W systemie binarnym (podstawa 2) każda cyfra to bit; w ósemkowym (podstawa 8) każda cyfra odpowiada 3 bitom; w szesnastkowym (podstawa 16) każda cyfra odpowiada 4 bitom, a litery A–F oznaczają wartości od 10 do 15. Systemy o podstawie większej niż 16 korzystają z kolejnych liter alfabetu, aż do podstawy 36, która używa wszystkich cyfr 0–9 i liter A–Z.
Konwerter wykonuje obliczenia za pomocą BigInt w JavaScript, dzięki czemu konwertuje liczby dowolnej długości bez utraty dokładności. Zwykłe liczby zmiennoprzecinkowe tracą precyzję powyżej 9,007,199,254,740,991 (2^53 − 1), dlatego niektóre konwertery błędnie przetwarzają wartości 64-bitowe.
Każda cyfra jest sprawdzana pod kątem wybranego systemu. Pierwszy nieprawidłowy znak jest zgłaszany wraz z jego pozycją, na przykład 2 w liczbie binarnej lub G w szesnastkowej. Wielkość liter nie ma znaczenia. Spacje i podkreślenia są pomijane, więc możesz wkleić wartości takie jak 1111_0000 lub DE AD BE EF. Akceptowane są prefiksy 0b (binarny), 0o (ósemkowy) i 0x (szesnastkowy); jeśli jako system wejściowy wybrano dziesiętny, a liczba zaczyna się od jednego z tych prefiksów, to prefiks określa system.
Liczby ujemne są konwertowane z zachowaniem znaku minus przed wartością bezwzględną (−255 to −FF w systemie szesnastkowym). Narzędzie nie wyświetla reprezentacji w kodzie uzupełnień do dwóch, która zależy od ustalonej szerokości bitowej, np. 8, 32 lub 64 bitów. Ułamki nie są obsługiwane — konwertowane są tylko liczby całkowite.
Przykłady
Odczytywanie koloru szesnastkowego lub wartości bajtu
0xFF to 255 w systemie dziesiętnym i 1111 1111 w binarnym: maksymalna wartość jednego bajtu, jak w kolorze #FF0000, gdzie FF oznacza pełną czerwień.
Uprawnienia plików w systemie Unix
Uprawnienia ósemkowe 755 to 111 101 101 w systemie binarnym: odczyt, zapis i wykonywanie (7) dla właściciela oraz odczyt i wykonywanie (5) dla grupy i pozostałych użytkowników. W systemie dziesiętnym to 493.
Duże wartości 64-bitowe
Największa 64-bitowa liczba całkowita bez znaku, FFFF FFFF FFFF FFFF w systemie szesnastkowym, to 18446744073709551615 w dziesiętnym. Jest konwertowana dokładnie, cyfra po cyfrze, bez zaokrąglania.
Często zadawane pytania
Jak ręcznie przekonwertować liczbę binarną na dziesiętną?
Pomnóż każdy bit przez odpowiadającą mu potęgę dwójki, zaczynając od 0 po prawej stronie, a następnie dodaj wyniki. Dla 1011: 1×8 + 0×4 + 1×2 + 1×1 = 11.
Dlaczego liczby binarne i szesnastkowe grupuje się po cztery?
Jednej cyfrze szesnastkowej odpowiada dokładnie 4 bity, więc podział liczby binarnej na grupy po cztery pozwala dopasować je do cyfr szesnastkowych: 1101 1110 to DE. Dzięki temu można łatwo konwertować między tymi systemami na oko.
Czy istnieje maksymalna wielkość liczby?
Nie ma ustalonego limitu. Dzięki BigInt narzędzie dokładnie konwertuje liczby mające setki lub tysiące cyfr. Przetworzenie wyjątkowo długich danych może chwilę potrwać na wolniejszych urządzeniach.
Czy można konwertować liczby ujemne lub ułamki?
Obsługiwane są ujemne liczby całkowite, a ich znak minus zostaje zachowany. Ułamki i separator dziesiętny nie są obsługiwane — kropka jest zgłaszana jako nieprawidłowy znak.
Do czego służy system o podstawie 36?
System o podstawie 36 używa cyfr 0–9 i liter A–Z — to najbardziej zwięzły zapis alfanumeryczny, w którym wielkość liter nie ma znaczenia. Jest używany w krótkich identyfikatorach i skracaczach URL: na przykład 1,000,000 w systemie o podstawie 36 to LFLS.
Prywatność
Konwersje są wykonywane w przeglądarce. Wpisane liczby nie są przesyłane, zapisywane ani uwzględniane w analityce.