Przelicznik systemów liczbowych
Przelicz liczbę całkowitą między systemem dwójkowym, ósemkowym, dziesiętnym, szesnastkowym i dowolnym systemem o podstawie do 36.
Działa w całości w twojej przeglądarce. Nic nie jest wysyłane, logowane ani przechowywane.
Po przeliczeniu
255
- Dwójkowy (2)
- 11111111
- Ósemkowy (8)
- 377
- Dziesiętny (10)
- 255
- Szesnastkowy (16)
- FF
Tę samą liczbę można zapisać w dowolnym systemie, a to, na który trafisz, zależy od tego, gdzie patrzysz: szesnastkowy w zrzucie pamięci, dwójkowy w masce uprawnień, ósemkowy w trybie pliku, dziesiętny we wszystkim innym. To narzędzie przelicza między nimi wszystkimi.
Jak to działa
Cyfry to 0–9, a potem A–Z, co pozwala na podstawy do 36. Wielkość liter na wejściu jest ignorowana, więc ff i FF to ta sama liczba.
Przeliczenie odbywa się przez kolejne dzielenia na samych cyfrach, zamiast najpierw zamieniać wejście na liczbę całkowitą maszyny. To ważniejsze, niż się wydaje: 64-bitowy hash czy 128-bitowy identyfikator to dokładnie ten rodzaj wartości, który ludzie wklejają do przelicznika systemów, a wszystko, co przechodzi przez liczbę zmiennoprzecinkową, jest po cichu zaokrąglane od mniej więcej szesnastu cyfr.
Tylko liczby całkowite i bez znaku minus. Ułamek w innym systemie to osobna kwestia, z własnym zaokrąglaniem, a odpowiedź na nią przy okazji dałaby wynik, który wygląda na dokładny, a nim nie jest.
Przykłady
| Przypadek | Dane wejściowe | Wynik |
|---|---|---|
| Bajt w zapisie szesnastkowym | ff from base 16 | 255 in decimal, 11111111 in binary |
| Uprawnienia pliku w Uniksie | 755 from base 8 | 493 in decimal, 111101101 in binary |
| Większa niż liczba całkowita maszynowa, a mimo to dokładna | ffffffffffffffffffffffff from base 16 | 79228162514264337593543950335 |
Najczęściej zadawane pytania
Czy obsługuje liczby większe niż 64 bity?
Tak. Arytmetyka działa na ciągu cyfr, więc długość nie jest ograniczeniem i nic nie jest zaokrąglane. Spróbuj z pełnym skrótem SHA-256 w systemie szesnastkowym i odczytaj go z powrotem w dziesiętnym.
Dlaczego liczby ujemne nie są akceptowane?
Bo sposób zapisu liczby ujemnej zależy od konwencji, której to narzędzie nie może znać: znak minus, kod uzupełnień do dwóch o określonej szerokości albo bit znaku. Ciche wybranie jednej dałoby odpowiedź pewną siebie i błędną dla pozostałych dwóch.
Czy przedrostki 0x i 0b są dozwolone?
Tak, podobnie jak spacje i podkreślniki. To notacja, a nie cyfry — 1010 1100 i 1010_1100 to ta sama liczba — więc są usuwane przed odczytem.
Dlaczego podstawa kończy się na 36?
Bo tam kończą się znaki: dziesięć cyfr i dwadzieścia sześć liter. Pójście dalej wymaga alfabetu, który trzeba najpierw uzgodnić, tak jak na swój sposób robią to Base58 i Base64.
Warto wiedzieć
- Tylko liczby całkowite, bez znaku. Ułamek w innym systemie wymaga reguły zaokrąglania, a liczba ujemna — konwencji (znaku minus albo kodu uzupełnień do dwóch o określonej szerokości), której to narzędzie nie odgadnie z samego wejścia.
- Cztery typowe systemy są zawsze pokazywane obok tego, o który prosisz, bo wartość, z którą chcesz porównać, zwykle jest w jednym z nich.
Wszystkie narzędzia z kategorii Kod