1. 程式人生 > >IP地址的幾種形式及轉換

IP地址的幾種形式及轉換

根據TCP/IP協議,IP地址是以二進位制來表示,目前廣泛使用的IPv4(Internet Protocol version 4:網際協議版本4)中規定IP地址長度為32bit(位元位)(如:11000000101010000000000100000010),為了方便使用,人們將二進位制IP地址轉換為四個十進位制數字用點號分隔的形式,1bit × 8=1byte(位元組),32bit換算成位元組就是4byte,二進位制形式IP 11000000101010000000000100000010換算成十進位制形式即為192.168.1.2,這種形式即最常見的IP表示方式:點分十進位制表示法Dotted decimal notation)

下面介紹IP地址不常見的幾種形式
1、整數型:
IP 192.168.1.2的二進位制為11000000101010000000000100000010(注:點分十進位制IP轉二進位制時,四個十進位制數字轉二進位制不足8位的用0補足8位),將11000000101010000000000100000010換算成十進位制為3232235778,得到其整數型IP形式:3232235778。
另一種換算方法:192 × 256^3 + 168 × 256^2 + 1 × 256 + 2 = 3232235778
我們可以在CMD命令列下輸入:ping 3232235778 ,會顯示跟 ping 192.168.1.2 同樣的回顯,說明兩者是等價的。

2、八進位制型:

IP 192.168.1.2換算成八進位制為300.250.1.2,每位在前面加0表示是八進位制,結果為:0300.0250.01.02,同樣可通過ping測試下證明兩者相等。由此可見,IP 0127.0.0.1並不像表面上看到的似乎等同127.0.0.1,而等於IP 87.0.0.1。

3、十六進位制型:
換算方法跟八進位制相同,不同的是前面加0x表示十六進位制,如IP 192.168.1.2轉換為十六進位制型IP為:0xc0.0xA8.1.2。

4、混合型:
即以上幾種進位制的混合,如IP 0300.0xA8.1.0x02,這種純屬為視覺混淆,沒什麼實質意義。

以上四種相比而言,整數型IP相對實用些,下面附整數型IP一個簡單應用例項:
谷歌www.google.com.hk的IP是74.125.128.94,換算成整數型為1249738846,在瀏覽器內輸入http://1249738846,即可正常訪問該地址。