Przejdź do treści
Quaestio

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
2–36
Osadź

Osadź to narzędzie na swojej stronie

Skopiuj kod i wklej go tam, gdzie ma się pojawić narzędzie, np. we wpisie na blogu albo na stronie szkoły. To nic nie kosztuje, ramka nie zawiera reklam, a narzędzie liczy w przeglądarce odwiedzającego.

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.

Źródła

Jak sprawdzamy narzędzia