Konwertuj liczbę między binarnym, ósemkowym, dziesiętnym i szesnastkowym

konwertuj liczbę z jednego systemu (dziesiętny, binarny, ósemkowy, szesnastkowy) do innego, idealne do programowania niskopoziomowego, debugowania i analizy danych.

Dlaczego używać narzędzia do konwersji liczb?

Konwersja między bazami (binarna, ósemkowa, szesnastkowa, dziesiętna) to częsta potrzeba w programowaniu niskopoziomowym, elektronice, kryptografii i analizie danych. To narzędzie konwertuje liczbę na cztery bazy naraz, bez konieczności precyzowania formatu wejściowego.

Automatyczne wykrywanie formatu wejściowego

Narzędzie automatycznie wykrywa bazę wejścia:

  • Prefiks 0b: binarny (np. 0b101010)
  • Prefiks 0o: ósemkowy (np. 0o52)
  • Prefiks 0x: szesnastkowy (np. 0x2a)
  • Bez prefiksu zawierający litery a-f: szesnastkowy (np. 2a, ff)
  • Bez prefiksu i tylko cyfry: dziesiętny (np. 42)

Jak korzystać z narzędzia

Wprowadź liczbę w pole wejściowe, a następnie kliknij „Konwertuj". Cztery reprezentacje (binarna, ósemkowa, szesnastkowa, dziesiętna) wyświetlą się równocześnie. Następnie możesz skopiować wynik dedykowanym przyciskiem.

Przykład

Wejście: 0b101010

Wyniki:

binary: 101010
octal: 52
hexadecimal: 2a
decimal: 42

Najczęściej zadawane pytania

Jakie prefiksy są akceptowane do rozróżnienia baz?

Narzędzie rozpoznaje standardowe konwencje: 0b dla binarnego (np. 0b101010), 0o dla ósemkowego (np. 0o52), 0x dla szesnastkowego (np. 0x2a). Bez prefiksu liczba składająca się tylko z cyfr jest interpretowana w dziesiętnej, a liczba zawierająca litery a do f jest interpretowana w szesnastkowej. Ta konwencja jest zgodna z Pythonem, JavaScriptem i większością nowoczesnych języków.

Dlaczego konwertować między binarnym, ósemkowym, szesnastkowym a dziesiętnym?

Różne bazy służą różnym kontekstom. Binarny wiernie reprezentuje strukturę pamięci (bity, flagi, maski). Szesnastkowy kompresuje 4 bity na znak, idealny do odczytywania adresów pamięci, kolorów (#ff6600), hashów lub UUID. Ósemkowy nadal pojawia się w uprawnieniach Unix (chmod 755). Dziesiętny to zwykła ludzka baza. Konwersja między tymi bazami jest niezbędna w niskopoziomowym programowaniu, bezpieczeństwie i sieci.

Jaka jest różnica między bazą 2, bazą 8, bazą 16 a bazą N?

Baza systemu liczbowego wskazuje, ile różnych symboli używa. Baza 2 (binarna) używa 0 i 1, baza 8 (ósemkowa) cyfr 0 do 7, baza 10 (dziesiętna) cyfr 0 do 9, baza 16 (szesnastkowa) dodaje do tego a do f. Dowolna baza N podąża za tą samą zasadą: N symboli, a każda pozycja ma wartość N^k. To narzędzie celuje w cztery typowe bazy (2, 8, 10, 16).

Czy narzędzie obsługuje liczby ujemne lub z przecinkiem?

Aktualna wersja koncentruje się na dodatnich liczbach całkowitych, które pokrywają większość potrzeb w programowaniu systemowym. Liczby ujemne wyrażają się w kodzie U2 zgodnie z ustaloną szerokością słowa (8, 16, 32, 64 bity) i wymagają dodatkowego kontekstu. Liczby z przecinkiem w binarnym (norma IEEE 754) to osobny temat. W tych przypadkach użyj printf, bc w wierszu poleceń lub narzędzia dedykowanego IEEE 754.

Jak ręcznie konwertować między binarnym a szesnastkowym?

Konwersja binarnego na szesnastkowy jest trywialna, ponieważ 4 bity są dokładnie jedną cyfrą hex. Pokrój binarny na grupy 4 bitów od prawej i zastąp każdą grupę odpowiednim hex: 0000 daje 0, 1010 daje a, 1111 daje f. Przykład: 10101010 pokrojony na 1010 1010 ma wartość aa. Droga odwrotna jest równie bezpośrednia.

Dlaczego moja liczba szesnastkowa ff daje 255 dziesiętnie?

W szesnastkowym każda cyfra reprezentuje potęgę 16. ff ma wartość f * 16 + f * 1, czyli 15 * 16 + 15 = 255. To maksymalna wartość bajtu (8 bitów), stąd wszechobecność ff w programowaniu: maksymalna intensywność kanału koloru (#ff0000 czysty czerwony), pełna maska, wartość strażnik.

Przykładowe zapytanie

curl -X POST https://cdrn.fr/api/v1/tools/number-converter/execute \
  -H "Content-Type: application/json" \
  -d '{"number":"..."}'

Schemat wejściowy

Pole Typ Wymagane Domyślnie
number string

Punkty końcowe

  • GET https://cdrn.fr/api/v1/tools - lista wszystkich dostępnych narzędzi
  • GET https://cdrn.fr/api/v1/tools/number-converter - zwraca schemat dla tego narzędzia
  • POST https://cdrn.fr/api/v1/tools/number-converter/execute - uruchamia to narzędzie z payloadem JSON