raatools/

Konwerter systemów liczbowych

Przeliczaj między binarnym, dziesiętnym, ósemkowym i szesnastkowym.

Czym jest konwersja podstaw liczbowych?

Konwersja podstaw liczbowych to proces przedstawiania tej samej wartości numerycznej w innym pozycyjnym systemie liczbowym. Każdy system liczbowy używa określonego zestawu cyfr — binarny używa 0 i 1, ósemkowy 0–7, dziesiętny 0–9, a szesnastkowy 0–9 oraz A–F. Konwersja między tymi podstawami to podstawowa umiejętność w informatyce i elektronice cyfrowej.

Komputery działają natywnie w systemie binarnym, ponieważ tranzystory mają dwa stany: włączony i wyłączony. Jednak odczytywanie długich ciągów zer i jedynek jest niepraktyczne dla ludzi. Szesnastkowy system liczbowy stanowi zwartą alternatywę — każda cyfra szesnastkowa odpowiada dokładnie czterem bitom binarnym, więc bajt 11111111 staje się po prostu FF. To sprawia, że zapis szesnastkowy jest preferowanym formatem dla adresów pamięci, kodów kolorów i debugowania niskopoziomowego.

Jak działa konwersja podstaw

Aby przeliczyć z dowolnej podstawy na dziesiętną, mnoży się każdą cyfrę przez jej wagę pozycyjną i sumuje wyniki. Na przykład liczba binarna 1011 równa się 1×8 + 0×4 + 1×2 + 1×1 = 11 w systemie dziesiętnym. Aby przeliczyć z dziesiętnego na inną podstawę, należy wielokrotnie dzielić przez docelową podstawę i odczytywać reszty w odwrotnej kolejności.

Konwersja między binarnym a szesnastkowym jest jeszcze prostsza. Należy pogrupować cyfry binarne w zestawy czterech (uzupełniając wiodącymi zerami w razie potrzeby), a następnie zastąpić każdą grupę jej szesnastkowym odpowiednikiem. Na przykład 0010 1010 staje się 2A. To bezpośrednie odwzorowanie sprawia, że zapis szesnastkowy jest tak popularny w informatyce — jest skrótem zapisu binarnego.

Jak korzystać z tego narzędzia

Wpisz liczbę w dowolnym z czterech pól — binarnym, ósemkowym, dziesiętnym lub szesnastkowym — a trzy pozostałe pola zaktualizują się natychmiast. Narzędzie weryfikuje dane wejściowe i odrzuca nieprawidłowe cyfry dla wybranej podstawy. Możesz też wklejać wartości bezpośrednio z edytorów kodu lub debuggerów.

Krótki przewodnik

  • Binarny (podstawa 2): cyfry 0 i 1 — używany w układach cyfrowych i programowaniu niskopoziomowym.
  • Ósemkowy (podstawa 8): cyfry 0–7 — nadal używany w uprawnieniach plików Unix (755 = rwxr-xr-x).
  • Dziesiętny (podstawa 10): cyfry 0–9 — system liczbowy używany na co dzień przez ludzi.
  • Szesnastkowy (podstawa 16): cyfry 0–F — używany dla adresów pamięci, kolorów CSS (#FF0000) i adresów MAC.

Częste błędy przy konwersji

Najczęstszym błędem jest mylenie podstawy danych wejściowych. Liczba taka jak 100 oznacza sto w systemie dziesiętnym, ale 4 w binarnym i 256 w szesnastkowym. Zawsze sprawdzaj, w jakiej podstawie pracujesz przed konwersją. Innym częstym błędem jest zapominanie, że litery szesnastkowe A–F są niewrażliwe na wielkość liter — 0xff i 0xFF są identyczne.

Przy ręcznej konwersji ludzie często odwracają kolejność reszt lub pomijają wiodące zera. W programowaniu uważaj na przedrostki specyficzne dla języka: 0b dla binarnego, 0o dla ósemkowego i 0x dla szesnastkowego w większości nowoczesnych języków. Użycie złego przedrostka da zupełnie inną wartość.

Praktyczne zastosowania

Programiści webowi używają kolorów szesnastkowych na co dzień — #FF5733 koduje kanały czerwony, zielony i niebieski każdy jako dwucyfrową wartość szesnastkową (255, 87, 51). Inżynierowie sieciowi czytają adresy MAC w parach szesnastkowych (AA:BB:CC:DD:EE:FF). Programiści systemów wbudowanych przełączają poszczególne bity za pomocą masek binarnych. Znajomość konwersji podstaw sprawia, że wszystkie te zadania stają się intuicyjne.

W cyberbezpieczeństwie zrzuty szesnastkowe są niezbędne do analizy nagłówków plików, pakietów sieciowych i złośliwego oprogramowania. Analitycy kryminalistyczni czytają edytory szesnastkowe, aby znaleźć ukryte dane wewnątrz plików. Biegłość w konwersji szesnastkowy–binarny znacznie przyspiesza tę analizę.

Często zadawane pytania

Dlaczego komputery używają systemu binarnego zamiast dziesiętnego?

Układy cyfrowe są zbudowane z tranzystorów mających dwa niezawodne stany: włączony (1) i wyłączony (0). System binarny idealnie odpowiada tej fizycznej rzeczywistości. Rozróżnianie dziesięciu poziomów napięcia (dla systemu dziesiętnego) byłoby znacznie mniej niezawodne i bardziej podatne na błędy.

Jaka jest różnica między szesnastkowym a ósemkowym?

System szesnastkowy używa 16 symboli (0–F), a każda cyfra reprezentuje 4 bity. Ósemkowy używa 8 symboli (0–7), a każda cyfra reprezentuje 3 bity. Szesnastkowy jest powszechniejszy, ponieważ nowoczesne komputery używają 8-bitowych bajtów, które dzielą się równo na dwie cyfry szesnastkowe, ale niekoniecznie na cyfry ósemkowe.