Systemy liczbowe
Wpisz liczbę w systemie, od którego zaczynasz, a pojawi się naraz we wszystkich popularnych systemach.
Ta sama liczba w innych systemach
- Dwójkowy11111111
- Ósemkowy377
- Dziesiętny255
- Szesnastkowyff
- Własna podstawa 3673
Jak to działa
Podstawa systemu liczbowego mówi, ile cyfr jest używanych, zanim przejdzie się do następnej pozycji. Na co dzień liczymy w systemie dziesiętnym z cyframi od 0 do 9, a komputery działają w systemie dwójkowym, tylko z 0 i 1.
System szesnastkowy istnieje po to, by skracać zapis dwójkowy. Cztery cyfry dwójkowe odpowiadają dokładnie jednej cyfrze szesnastkowej, dlatego bajt zawsze mieści się w dwóch znakach, np. ff dla 255.
Cyfry większe od dziewięciu zapisuje się literami: a oznacza 10, b oznacza 11 i tak dalej aż do z, które w systemie o podstawie 36 oznacza 35.
To narzędzie obsługuje liczby całkowite dowolnej wielkości, więc nawet długie wartości szesnastkowe zachowują każdą cyfrę.
Jak narzędzie liczy
Liczba jest czytana cyfra po cyfrze od lewej: dotychczasowa wartość jest mnożona przez podstawę i dodawana jest następna cyfra. 7ea w systemie szesnastkowym to 7, potem 7 · 16 + 14 = 126, a na końcu 126 · 16 + 10 = 2026. W drugą stronę liczbę zapisuje wbudowana konwersja przeglądarki, która używa znaków 0–9 i a–z, nigdy nie pisze zer wiodących i stawia minus przed liczbami ujemnymi.
2026 to 11111101010 w systemie dwójkowym, 3752 w ósemkowym i 1ka w systemie o podstawie 36. Podstawa 36 jest najwyższa, bo dziesięć cyfr i dwadzieścia sześć liter daje 36 znaków. Oprócz czterech zwykłych systemów lista pokazuje własną podstawę, na początku 36, a przycisk w każdym wierszu kopiuje liczbę w danym systemie.
Co przyjmuje pole
Wielkie i małe litery znaczą to samo, a spacje i podkreślniki między cyframi są usuwane, więc 1111_0000 o podstawie 2 to 240. Przedrostki takie jak 0x i 0b nie są rozpoznawane. W systemie szesnastkowym 0x1f jest odrzucane, ale przy podstawie 36 x jest cyfrą i ten sam tekst jest odczytywany jako liczba 42 819. Zera wiodące znikają, więc 00ff jest zapisywane jako ff.
Przeliczać można tylko liczby całkowite, więc przecinek lub kropka dają komunikat o błędzie. Liczby ujemne zachowują minus: −ff to −255 i −11111111 w systemie dwójkowym. Narzędzie nie pokazuje więc, jak komputer przechowuje liczbę ujemną w stałej liczbie bitów.
Tło
RFC 4648 nazywa system szesnastkowy standardowym kodowaniem hex i zaznacza, że wielkość liter nie ma w nim znaczenia. Alfabet standardu używa wielkich liter A–F, a JavaScript pisze małe. Obie formy oznaczają tę samą liczbę.
Zwykłe liczby w przeglądarce przechowują dokładnie każdą liczbę całkowitą tylko do 2⁵³ − 1 = 9 007 199 254 740 991. Dlatego narzędzie liczy na typie całkowitym BigInt, który nie ma takiej granicy. 2⁶⁴ = 18 446 744 073 709 551 616 wychodzi wtedy dokładnie jako 10000000000000000 w systemie szesnastkowym, czyli jedynka i szesnaście zer.