TanodTools
PL

Konwerter systemów liczbowych

Przelicz liczbę całkowitą między systemem dwójkowym, ósemkowym, dziesiętnym, szesnastkowym i dowolnym do 36 oraz zobacz jej wzorce bitowe w kodzie uzupełnień do dwóch.

Działa w całości w Twojej przeglądarce

Liczby całkowite do 4096 cyfr, dodatnie lub ujemne. Ułamki nie są przeliczane.

Jak przeliczać liczby między systemami liczbowymi

  1. Wybierz system, w którym zapisana jest liczba, albo wybierz Inna podstawa i wpisz podstawę od 2 do 36.
  2. Wpisz liczbę. Dozwolony jest znak minus, a pasujący prefiks 0x, 0b lub 0o jest akceptowany; spacje i podkreślniki są ignorowane.
  3. Odczytaj ją we wszystkich poniższych systemach, skopiuj ten, którego potrzebujesz, i sprawdź tabelę kodu uzupełnień do dwóch dla liczb całkowitych o stałej szerokości.

Jak działają systemy liczbowe

Podstawa systemu to liczba różnych cyfr, których używa. W systemie dziesiętnym każda pozycja jest warta dziesięć razy więcej niż ta po jej prawej stronie; w dwójkowym dwa razy więcej, więc 1101 oznacza 8 + 4 + 0 + 1 = 13. System szesnastkowy używa szesnastu cyfr, od 0 do 9, a potem od A do F, i każda cyfra szesnastkowa odpowiada dokładnie czterem cyfrom dwójkowym, dlatego programiści używają go jako zwartego zapisu bajtów: 255 to FF, czyli 11111111.

System ósemkowy grupuje cyfry dwójkowe po trzy i nadal występuje w uprawnieniach plików Uniksa (755 oznacza rwxr-xr-x). Podstawa 36 wykorzystuje wszystkie cyfry i litery i pojawia się w krótkich identyfikatorach oraz skracaczach adresów URL.

Komputery przechowują liczby całkowite ze znakiem w stałej liczbie bitów w kodzie uzupełnień do dwóch, w którym najstarszy bit ma wagę ujemną. Te same bity mogą więc oznaczać dwie różne liczby: 11001000 to 200 przy odczycie bez znaku i −56 przy odczycie ze znakiem. Tabela pod wynikami pokazuje oba odczyty dla typowych rozmiarów liczb całkowitych.

Wskazówki

Najczęstsze pytania

Jak dużą liczbę można przeliczyć?

Do 4096 cyfr w systemie wejściowym. Przeliczanie korzysta z dokładnej arytmetyki liczb całkowitych (BigInt), więc bardzo duże wartości, takie jak 2⁶⁴ + 1 = 18446744073709551617, są przeliczane bez zaokrągleń, w przeciwieństwie do kalkulatorów, które powyżej około 9 biliardów przechodzą na liczby zmiennoprzecinkowe.

Czy można przeliczać ułamki, na przykład 0,1?

Nie. Przeliczane są tylko liczby całkowite, a przecinek lub kropka dziesiętna są zgłaszane jako błąd, zamiast po cichu odrzucane. Wiele ułamków nie ma dokładnej postaci w innym systemie: 0,1 w systemie dziesiętnym to w dwójkowym wzór okresowy, dlatego w większości języków programowania 0,1 + 0,2 nie daje dokładnie 0,3.

Co pokazuje kod uzupełnień do dwóch?

Tak komputery przechowują liczby całkowite ze znakiem w stałej liczbie bitów. Liczba ujemna −n jest zapisywana jako 2 do potęgi równej liczbie bitów minus n, więc −1 na 8 bitach to 11111111 (FF). Tabela pokazuje wzorzec bitowy dla 8, 16, 32 i 64 bitów oraz znaczenie tego wzorca odczytanego jako liczba ze znakiem i bez znaku. Jeśli liczba nie mieści się w danej szerokości, wiersz mówi o tym zamiast zawijać wartość.

Jakich cyfr używa się powyżej podstawy 10?

Liter, tak jak w większości języków programowania: A to 10, B to 11 i tak dalej aż do Z jako 35, dlatego system o podstawie 36 jest najwyższy. Dane wejściowe można wpisywać wielkimi lub małymi literami; opcja wielkich liter steruje wynikiem.

Dlaczego cyfra jest zgłaszana jako nieprawidłowa?

Każdy system dopuszcza tylko cyfry mniejsze od swojej podstawy: dwójkowy 0 i 1, ósemkowy od 0 do 7, szesnastkowy od 0 do 9 i od A do F. Komunikat o błędzie podaje znak i jego pozycję, abyś mógł znaleźć literówkę albo przełączyć się na system, w którym liczba jest naprawdę zapisana.