IPv4 - Tamsayı Dönüştürücü

Bir IPv4 adresi veya tamsayı girin ve dönüştürme yönünü seçin.

Sonuç

3.232.235.786
0xC0A8010A
192.168.1.10

Nasıl hesaplanır?

Adresten tamsayıya: a.b.c.d için araç a × 16777216 + b × 65536 + c × 256 + d işlemini yapar. Tamsayıdan adrese: a = taban(n / 16777216) bulunur, b, c ve d ise 65536 ve 256'ya bölmeden kalan değerlerden alınır. Onaltılık sonuç aynı sayının sekiz basamaklı, başı sıfırla doldurulmuş ve 0x ile başlayan gösterimidir.

Araç katıdır: noktalı adres tam dört ondalık parçadan oluşmalı ve her biri 0 ile 255 arasında olmalıdır; tamsayı ise 0 ile 4294967295 arasında yalnızca rakamlardan oluşmalıdır. Bunun dışındaki her girdi, yanlış yön seçilmiş sayı dahil, sonuç vermez. Baştaki sıfırlar normal ondalık sayılır (010 sekizlik 8 değil, ondur). Tamsayı binlik ayraçlarla gösterilir, ancak geri çevirirken ayraçsız yazmalısınız.

Örnek hesaplama

Adresten tamsayıya modunda 192.168.1.10 girelim. Dört oktet ağırlıklarıyla çarpılır: 192 × 16777216 = 3.221.225.472; 168 × 65536 = 11.010.048; 1 × 256 = 256 ve 10. Toplam 3.232.235.786 eder. Onaltılıkta 192, 168, 1 ve 10 sırasıyla C0, A8, 01 ve 0A'dır; araç bu yüzden 0xC0A8010A değerini de gösterir. Tamsayıdan adrese moduna geçip 3232235786 yazarsanız yine 192.168.1.10 elde edersiniz.

Bu örneği dene →

Sık yapılan hatalar

  • Sayı yazarken modu adresten tamsayıya bırakmak (ya da tersi). Girdi beklenen biçime uymaz ve hiçbir sonuç çıkmaz.
  • Tamsayıyı 3.232.235.786 gibi binlik ayraçlarla yazmak. Adrese çevirirken yalnızca rakam kabul edilir; 3232235786 yazın.
  • 255'ten büyük bir oktet (örneğin 192.168.1.256) ya da dörtten az parça girmek. İkisi de düzeltilmek yerine reddedilir.
  • Baştaki sıfırların sekizlik anlama geldiğini sanmak. Bazı eski araçlar öyle yorumlar; burada 010.000.000.001 ondalık 10.0.0.1 sayılır ve 167.772.161 verir.
  • Sonucu IPv6 için ya da işaretli 32-bit alanda kullanmak. Araç yalnızca IPv4 içindir ve tamsayı işaretsizdir; 2147483647'nin üstündeki değerler büyük pozitif sayılar olarak görünür.

Bu hesaplama hakkında

Noktalı ondalık biçimde yazılan bir IPv4 adresi (192.168.1.1 gibi) aslında dört adet 8-bit oktete bölünmüş 32-bit işaretsiz bir tamsayıdır. Tamsayı biçimine dönüştürmek, her okteti konumsal ağırlığıyla (256³, 256², 256¹ ve 256⁰) çarpıp sonuçları toplamak anlamına gelir ve 0 ile 4.294.967.295 arasında tek bir sayı verir; ters işlem ise bu tamsayıyı yeniden dört oktete böler.

Bu hesaplayıcı dönüşümü her iki yönde de yapar ve ayrıca onaltılık gösterimi de gösterir; çünkü IP adresleri veritabanlarında, güvenlik duvarı kurallarında ve ağ günlüklerinde çoğunlukla dize olarak değil, düz tamsayı veya onaltılık değer olarak saklanır, sıralanır ve karşılaştırılır.

Tamsayı biçimiyle çalışmak, aralık kontrollerini ve CIDR blok hesaplarını (X adresi Y alt ağının içinde mi?) noktalı dizeleri ayrıştırıp karşılaştırmak yerine basit bir sayısal karşılaştırmaya indirger; ağ mühendislerinin ve backend geliştiricilerin bu iki biçim arasında düzenli olarak dönüşüm yapmasının nedeni de budur.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    Bir alt ağ üyeliği testi için bloğun ilk ve son adresini çevirip karşılaştırın. 192.168.1.0/24 aralığı 3232235776 (192.168.1.0) ile 3232236031 (192.168.1.255) arasındadır; tam sayı değeri bu iki sayı arasında kalan her adres bloğun içindedir, örneğin 3232235786 olan 192.168.1.10 gibi. Araç aynı anda tek bir değer çevirir ve CIDR öneki almaz. Adresleri tam sayı olarak nerede saklıyorsunuz: veritabanı sütunu, günlük kaydı ya da güvenlik duvarı kuralı mı?

Popüler hesaplayıcılar

Tüm Hesaplayıcılar