Przejdź do treści
mojeip.io

Adres IP

Adres IP binarnie, dziesiętnie i hex - jak i po co konwertować

10 lipca 2026 · 4 min czytania · zaktualizowano 29 września 2026

Adres IPv4, np. 192.168.1.10, wygląda na cztery osobne liczby, ale tak naprawdę to jedna 32-bitowa liczba zapisana w wygodniejszej dla ludzi formie. Każda z czterech części, czyli oktet, to 8 bitów, a więc wartość od 0 do 255. Poniżej pokazujemy, jak przeliczyć adres ręcznie i w kodzie oraz kiedy to się przydaje.

Ta sama liczba, różne zapisy

Adres 192.168.1.10 można zapisać na kilka sposobów:

Wszystkie przeliczysz w obie strony w konwerterze IP, także adresy IPv6.

Jak przeliczyć adres ręcznie

Na postać binarną

Każdy oktet zamień osobno na 8 bitów. Kolejne bity od lewej mają wartości 128, 64, 32, 16, 8, 4, 2 i 1. Rozłóż liczbę na sumę tych wartości: na pozycjach wartości, które wchodzą do sumy, wpisz 1, a na pozostałych 0.

Cały adres to 11000000.10101000.00000001.00001010. Zera na początku oktetu zostawiamy, bo każdy oktet ma zawsze 8 bitów.

Na jedną liczbę dziesiętną

Pomnóż kolejne oktety przez 256³ (16 777 216), 256² (65 536), 256 i 1, a wyniki dodaj:

192 × 16 777 216 + 168 × 65 536 + 1 × 256 + 10 = 3 232 235 786

Z liczby z powrotem na adres

Dziel liczbę przez 256 i zapisuj reszty. Pierwsza reszta to ostatni oktet:

  1. 3 232 235 786 ÷ 256 = 12 625 921, reszta 10
  2. 12 625 921 ÷ 256 = 49 320, reszta 1
  3. 49 320 ÷ 256 = 192, reszta 168
  4. Zostaje 192, czyli pierwszy oktet.

Czytając od końca, dostajesz 192.168.1.10.

Na zapis szesnastkowy

Każdy oktet to dokładnie dwie cyfry szesnastkowe: 192 = C0, 168 = A8, 1 = 01, 10 = 0A. Po złożeniu: 0xC0A8010A. W takim zapisie łatwo odczytać oktety bez liczenia, dlatego hex pojawia się w zrzutach pakietów i w kodzie niskopoziomowym.

Jak zrobić to w kodzie

Język / bazaAdres → liczbaLiczba → adres
PHPip2long('192.168.1.10')long2ip(3232235786)
Pythonint(ipaddress.ip_address('192.168.1.10'))str(ipaddress.ip_address(3232235786))
MySQLINET_ATON('192.168.1.10')INET_NTOA(3232235786)

W Pythonie trzeba najpierw wykonać import ipaddress. Moduł obsługuje też IPv6 i sprawdzanie, czy adres należy do danej podsieci. Dla adresów IPv6 MySQL ma dwie funkcje: INET6_ATON zamienia adres na postać binarną (przechowywaną w kolumnie typu VARBINARY(16)), a INET6_NTOA zamienia ją z powrotem na tekst.

Kiedy to się przydaje?

Uwaga na nietypowe zapisy adresu w linkach

Przeglądarki rozumieją adres IP także w postaci jednej liczby albo zapisu szesnastkowego. Link http://3232235786/ otworzy tę samą stronę co http://192.168.1.10/. Oszuści używają takich zapisów, żeby ukryć, dokąd naprawdę prowadzi link, a atakujący - żeby omijać filtry sprawdzające adresy.

Jeśli w linku zamiast nazwy domeny widzisz długą liczbę albo dziwny ciąg cyfr, nie klikaj. Wklej go do konwertera IP i sprawdź, jaki to adres. Inne sygnały ostrzegawcze w wiadomościach opisujemy w poradniku o rozpoznawaniu phishingu.

A co z IPv6?

Adres IPv6 to liczba 128-bitowa, zapisywana od razu szesnastkowo w 8 grupach, np. 2001:db8::1. Zamiana na jedną liczbę dziesiętną jest możliwa, ale rzadko przydatna, bo wynik ma do 39 cyfr. Częściej trzeba adres rozwinąć lub skrócić. Zasady zapisu wyjaśniamy we wpisie IPv4 vs IPv6.

Źródła

Przelicz adres IP

Dziesiętnie, binarnie, hex i IPv6 - w obie strony.

Powiązane narzędzia:

Przeczytaj też