Konwerter dziesiętny do IP
Przelicz adres IPv4 na reprezentację dziesiętną (32-bitową liczbę) i odwrotnie. Konwertuj też na hex i binarny. Przydatne dla adminów sieci i deweloperów. Bezpłatnie.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Kierunek
tryb z kodu: dec2ip (ręczna arytmetyka 256) albo ip2dec
Adres IPv4 (dotted quad)
cztery oktety 0–255, pierwsza poprawna linia wejścia
Wartość dziesiętna
zakres 32-bit: 0–4 294 967 295
Linie wejścia
poprawne: 3 · błędy: 0
Pokaż pełne podsumowanie konwersji (3 linii)
3232235777 -> 192.168.1.1 | hex 0xC0A80101 | bin 11000000101010000000000100000001 0 -> 0.0.0.0 | hex 0x00000000 | bin 00000000000000000000000000000000 4294967295 -> 255.255.255.255 | hex 0xFFFFFFFF | bin 11111111111111111111111111111111
| Wejście | Kierunek | Adres IPv4 | dziesiętnie | hex · bin (extras) | Uwagi silnika |
|---|---|---|---|---|---|
| 3232235777 | dziesiętne → IPv4 | 192.168.1.1 | 3 232 235 777 | 0xC0A80101 · 11000000101010000000000100000001 | |
| 0 | dziesiętne → IPv4 | 0.0.0.0 | 0 | 0x00000000 · 00000000000000000000000000000000 | |
| 4294967295 | dziesiętne → IPv4 | 255.255.255.255 | 4 294 967 295 | 0xFFFFFFFF · 11111111111111111111111111111111 | |
| 192.168.1.1 | IPv4 → dziesiętne | 192.168.1.1 | 3 232 235 777 | 0xC0A80101 · 11000000101010000000000100000001 | |
| 10.0.0.1 | IPv4 → dziesiętne | 10.0.0.1 | 167 772 161 | 0x0A000001 · 00001010000000000000000000000001 | |
| 256.1.1.1 | IPv4 → dziesiętne | — | — | — | Invalid IPv4 format. |
Silnik przyjmuje wyłącznie IPv4 (walidacja filter_var z flagą FILTER_FLAG_IPV4 z kodu) — adresów IPv6 nie przeliczy i zwróci komunikat Invalid IPv4 format. Liczba musi mieścić się w zakresie 0–4294967295 (32 bity): wartość 256.1.1.1 kończy się komunikatem silnika Invalid IPv4 format, bez wyjątku i bez wysypania strony. Każda linia wejścia jest przeliczana osobno, więc błędny wiersz nie psuje pozostałych.
Warto wiedzieć — liczba dziesiętna i adres IPv4
Skąd bierze się zapis dziesiętny
IPv4 to po prostu 32-bitowa liczba. Oktety zapisuje się w układzie 256: wartość = o1·256³ + o2·256² + o3·256 + o4. Dla 192.168.1.1: 192·16777216 + 168·65536 + 1·256 + 1 = 3232235777. Silnik tego narzędzia nie używa ip2long — liczy ręczną arytmetyką na stringach (dzielenie z resztą i mnożenie przez 256 z kodu), więc nie ma pułapki znaku 32-bit.
Zakres 32 bity i wartości brzegowe
Mieszczą się liczby od 0 (0.0.0.0) do 4294967295 (255.255.255.255) — silnik sprawdza to porównaniem stringowym, zanim zacznie liczyć. Popularne w logach wartości jak 3232235777 to zwykle adresy prywatne lub wyniki ataków na parsery; ta konwersja pozwala szybko je zdemaskować.
IPv4 vs IPv6
Ten konwerter obsługuje wyłącznie IPv4 — walidacja filter_var z flagą FILTER_FLAG_IPV4 (z kodu) odrzuca np. 2001:db8::1 komunikatem Invalid IPv4 format. IPv6 ma 128 bitów i inny zapis (grupy szesnastkowe), więc dziesiętny zapis „jedną liczbą” nie ma tu sensu — do tego potrzebny osobny konwerter.
Extras: hex i binarna maska
Przy włączonej opcji Extras silnik dokłada zapis szesnastkowy (0xC0A80101) i 32-znakowy zapis binarny (11000000101010000000000100000001). Zapis binarny od razu pokazuje maskę podsieci: /24 to pierwsze 24 jedynki, czyli 255.255.255.0. Przydatne przy analizie reguł firewalla i CIDR.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćKonwerter dziesiętny IP – reprezentacje adresów IPv4
Adres IPv4 to 32-bitowa liczba zapisywana w notacji dziesiętnej z kropkami (np. 192.168.1.1). Ale można go zapisać też jako jedną liczbę dziesiętną (3232235777), heksadecymalną (0xC0A80101) lub binarną. Narzędzie konwertuje między wszystkimi reprezentacjami.
Reprezentacje adresów IPv4
Dotted decimal: 192.168.1.1 – standardowy format. 32-bit integer: 3232235777. Hex: C0.A8.01.01 lub 0xC0A80101. Binarny: 11000000.10101000.00000001.00000001. Obliczenie: 192×16777216 + 168×65536 + 1×256 + 1 = 3232235777. Odwrotnie: 3232235777 ÷ 256 = 12632960 reszta 1 (ostatni oktet).
Klasy adresów IPv4
Klasa A: 0.0.0.0 – 127.255.255.255 (pierwszy bit = 0). Klasa B: 128.0.0.0 – 191.255.255.255. Klasa C: 192.0.0.0 – 223.255.255.255. Klasa D: 224.0.0.0 – 239.255.255.255 (multicast). Klasa E: 240.0.0.0 – 255.255.255.255 (zarezerwowane). Adresy prywatne: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16.
Notacja CIDR i maski
CIDR: 192.168.1.0/24. /24 = 24 bity sieci, 8 bitów hostów = 256 adresów (254 używalnych). Maska: /24 = 255.255.255.0 = 0xFFFFFF00. /16 = 255.255.0.0. /8 = 255.0.0.0. Adres sieci: IP AND maska. Broadcast: IP OR NOT(maska). Wildcard mask: odwrotność maski (używana w ACL Cisco).
IPv4 vs IPv6
IPv4: 32 bity, ok. 4.3 miliarda adresów. Wyczerpany (IANA 2011). IPv6: 128 bitów, 3.4×10^38 adresów. Format: 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Skróty IPv6: ::1 = loopback, :: = 0:0:0:0:0:0:0:0. NAT: "rozwiązanie" wyczerpania IPv4 – wiele urządzeń = 1 publiczny IP.
Jak działa przeliczenie liczby na adres IP
Adres IPv4 w notacji z kropkami to tak naprawdę liczba zapisana w systemie o podstawie 256. Każdy z czterech oktetów jest w tym systemie pojedynczą „cyfrą” o wartości od 0 do 255, a kropki pełnią rolę separatorów pozycji, a nie działań matematycznych. Cała 32-bitowa liczba, którą da się zapisać czterema oktetami, mieści się w zakresie od 0 do 4294967295. Konwersja polega więc na zmianie podstawy systemu liczbowego: z podstawy 256 na 10 (adres na liczbę) albo z 10 na 256 (liczba na adres).
Przeliczanie adresu na liczbę to suma iloczynów: każdy oktet mnożysz przez wagę jego pozycji i wszystkie wyniki dodajesz. Wagi wynikają z podziału 32 bitów na cztery bajty — każdy kolejny bajt to mnożnik 2^8 = 256. Pierwszy oktet od lewej ma wagę 2^24 = 16777216, drugi 2^16 = 65536, trzeci 2^8 = 256, czwarty 2^0 = 1. Ogólny wzór wygląda tak: L = a × 16777216 + b × 65536 + c × 256 + d, gdzie a, b, c, d to kolejne oktety adresu.
Przeliczanie w drugą stronę opiera się na dzieleniu całkowitym przez 256 z resztą. Reszta z pierwszego dzielenia to zawsze ostatni oktet, bo najmłodszy bajt liczby decyduje o jej reszcie z dzielenia przez 256. Iloraz dzielisz ponownie przez 256 — reszta daje trzeci oktet od końca. Powtarzasz to aż iloraz osiągnie zero, a reszty odczytane w odwrotnej kolejności tworzą adres. To dokładnie odwrotność mnożenia przez wagi pozycji i ta sama zasada, którą stosuje się przy zamianie dowolnego systemu liczbowego na dziesiątkowy.
Przykład krok po kroku: 3232235777 na adres IP
- Zapisz liczbę do przeliczenia: 3232235777. Najpierw sprawdź zakres — wartość mieści się między 0 a 4294967295, więc da się ją przedstawić jako formalnie poprawny adres IPv4.
- Podziel przez 256: 3232235777 ÷ 256 = 12625921, reszta 1. Reszta trafia na ostatnią pozycję, czyli czwarty oktet wynosi 1.
- Podziel iloraz przez 256: 12625921 ÷ 256 = 49320, reszta 1. To trzeci oktet adresu, licząc od lewej.
- Kolejne dzielenie: 49320 ÷ 256 = 192, reszta 168 — drugi oktet to 168.
- Ostatnie dzielenie: 192 ÷ 256 = 0, reszta 192 — pierwszy oktet to 192. Iloraz równy zero kończy obliczenia.
- Złóż wynik: oktety odczytane od ostatniej reszty do pierwszej dają 192.168.1.1. Kontrola odwrotna: 192 × 16777216 + 168 × 65536 + 1 × 256 + 1 × 1 = 3232235777, czyli wartość się zgadza.
Wagi pozycji oktetów i wartości graniczne
| Oktet / pozycja | Waga (potęga dwójki) | Wkład w liczbę dla 192.168.1.1 |
|---|---|---|
| 1. oktet (192) | 2^24 = 16777216 | 192 × 16777216 = 3221225472 |
| 2. oktet (168) | 2^16 = 65536 | 168 × 65536 = 11010048 |
| 3. oktet (1) | 2^8 = 256 | 1 × 256 = 256 |
| 4. oktet (1) | 2^0 = 1 | 1 × 1 = 1 |
| Suma dla 192.168.1.1 | — | 3232235777 |
| Minimum (0.0.0.0) | 0 | 0 |
| Maksimum (255.255.255.255) | 2^32 − 1 | 4294967295 |
Praktyczne wskazówki przy konwersji
- Sprawdź zakres przed konwersją: liczba większa niż 4294967295 nie mieści się w 32 bitach, więc nie odpowiada żadnemu adresowi IPv4. Taką wartość trzeba najpierw zredukować albo uznać za błędną.
- Pilnuj kolejności reszt: pierwsza reszta z dzielenia to ostatni oktet, nie pierwszy. Najczęstszy błąd przy ręcznym liczeniu to przepisanie reszt w kolejności ich powstawania.
- Nie stosuj zer wiodących: 192.168.001.001 to nie to samo co 192.168.1.1 — część systemów potraktuje zero na początku jako zapis ósemkowy. Po konwersji zapisuj oktety bez zer wiodących.
- Do baz danych wybierz typ unsigned: wartość 3232235777 przekracza maksimum 32-bitowej liczby ze znakiem (2147483647), więc w kolumnach całkowitych potrzebny jest typ unsigned. Bez tego adresy z pierwszym oktetem powyżej 127 zostaną zapisane błędnie.
- Przy większych zbiorach porównaj wynik z oryginałem: konwertuj partiami i zestaw oba kierunki obok siebie — różnica wychwyci literówki i przestawione oktety szybciej niż ręczne sprawdzanie pojedynczych rekordów.
Ograniczenia i czynniki zaburzające wynik
- Wyłącznie adresy IPv4: narzędzie obsługuje 32-bitowe adresy. Adresów IPv6 (128 bitów) nie da się zapisać jako jedna liczba w tym zakresie, więc nie są konwertowane.
- Brak oceny przeznaczenia adresu: konwerter sprawdza tylko format i zakres, a nie to, czy adres jest publiczny, prywatny, multicast czy zarezerwowany. Każda liczba z zakresu 0–4294967295 da formalnie poprawny adres.
- Kontekst sieci nie jest liczony: narzędzie nie wylicza maski, adresu sieci ani broadcastu — do tego potrzebna jest długość prefiksu CIDR, której sama liczba dziesiętna nie zawiera.
- Zapisy hybrydowe i ujemne: formaty typu 0xC0A80101, 0300.0250.0001.0001 czy 192.168.257 nie są rozpoznawane jako IPv4 i mogą zostać odrzucone lub zinterpretowane inaczej niż oczekujesz. To samo dotyczy wartości ujemnych.
Najczęstsze pytania
Dlaczego adresy IP są konwertowane na liczby?
Bazy danych: przechowywanie IP jako INT jest szybsze niż VARCHAR. MySQL: INET_ATON("192.168.1.1") = 3232235777. PHP: ip2long(), long2ip(). Python: int.from_bytes(socket.inet_aton(ip), "big"). Porównywanie zakresów IP: WHERE ip_int BETWEEN start_int AND end_int – szybkie i proste.
Jak sprawdzić klasę adresu IP?
Pierwszy oktet: 1-126 → klasa A. 128-191 → B. 192-223 → C. 224-239 → D (multicast). 240-255 → E. 127.x.x.x → loopback (nie klasa A technicznie). 0.x.x.x → zarezerwowany. W erze CIDR klasy są historyczne – używamy masek sieci.
Jak obliczyć ilość hostów w podsieci?
Hosty = 2^(32-prefix) - 2. /24: 2^8 - 2 = 254 hosty. /16: 2^16 - 2 = 65534 hosty. /8: 2^24 - 2 = 16777214 hostów. /30: 2^2 - 2 = 2 hosty (point-to-point links). /32: 1 host (loopback, VPN endpoint). /31: 2 adresy (RFC 3021, point-to-point bez broadcastu).
Co to jest subnet mask i wildcard mask?
Subnet mask: maska sieci. 255.255.255.0 = /24. Wildcard mask: odwrotność maski. 0.0.0.255 = wildcard dla /24. Użycie: Cisco ACL: permit 192.168.1.0 0.0.0.255. OSPF: network 192.168.1.0 0.0.0.255 area 0. Bitwise: wildcard = XOR(255.255.255.255, subnet_mask).
Jak działa NAT i dlaczego IPv4 wciąż żyje?
NAT (Network Address Translation): router mapuje prywatne IP (192.168.x.x) na publiczny IP. Wiele urządzeń = 1 publiczny IP (przez porty). PAT (Port Address Translation): wariant NAT z portami. Dlaczego IPv4: legacy systems, koszty migracji, NAT "wystarczył" dla wielu organizacji. IPv6 adoption 2024: ~40-45% ruchu internetowego (Google stats).
Jak ręcznie zamienić liczbę dziesiętną na adres IP?
Dzielisz liczbę całkowicie przez 256 i zapisujesz resztę. Reszta to ostatni oktet, a iloraz dzielisz dalej przez 256, aż osiągnie zero. Reszty odczytane od końca tworzą adres w notacji z kropkami.
Dlaczego liczbie 3232235777 odpowiada adres 192.168.1.1?
Bo 192 × 16777216 + 168 × 65536 + 1 × 256 + 1 × 1 = 3232235777. Kolejne oktety mnoży się przez wagi pozycji w 32-bitowym słowie, czyli 2^24, 2^16, 2^8 i 2^0.
Czy każda liczba z zakresu 0–4294967295 to prawidłowy adres IPv4?
Formalnie tak — mieści się w 32 bitach i da się zapisać czterema oktetami. Nie oznacza to jednak, że adres jest używalny w sieci; zakres obejmuje też adresy prywatne, multicast i zarezerwowane.
Co się dzieje, gdy liczba przekracza 4294967295?
Taka wartość nie mieści się w 32-bitowym adresie IPv4 i nie ma poprawnego odpowiednika w tej notacji. Konwerter powinien ją odrzucić, zamiast zwracać błędny adres.
Jaka jest dziesiętna postać adresu 127.0.0.1?
127 × 16777216 = 2130706432, a po dodaniu ostatniego oktetu równego 1 otrzymujemy 2130706433. Ten adres to loopback, czyli interfejs lokalny tego samego komputera.
Powiązane narzedzia: kalkulator podsieci, konwerter hex na dziesiętny i sprawdzanie DNS.