在討論如何進行IP地址與二進制之間的轉(zhuǎn)換前, 有必要解釋一下IP地址與二進制的概念
IP
- IP協(xié)議是網(wǎng)絡(luò)層的一個協(xié)議, 是能使連接到網(wǎng)上的所有計算機網(wǎng)絡(luò)實現(xiàn)相互通信的一套規(guī)則, 目的是根據(jù)源主機和目的主機的地址來傳送數(shù)據(jù).
- IP地址是一組能夠識別主機和所在網(wǎng)絡(luò)的編號, 由32位二進制數(shù)組成(等于4字節(jié)),為便于使用,常以XXX.XXX.XXX.XXX形式表現(xiàn),每組XXX代表小于或等于255的10進制數(shù)。
- 每個IP地址(盡管它看起來分為四部分)被分解成兩個部分......但這些部分并不相同。部分IP地址用于“網(wǎng)絡(luò)ID”,其余地址用于“主機ID”.網(wǎng)絡(luò)ID可以定位你所在的某個特定網(wǎng)絡(luò), 而主機ID可以定位你所在網(wǎng)絡(luò)正在使用的主機
- 大多數(shù)IP地址可以劃分地址類別:
- A類地址:IP地址的前8位用于網(wǎng)絡(luò)ID。最終的24位用于主機ID.(192.168.16.10)
- B類地址:IP地址的前16位用于網(wǎng)絡(luò)ID。最后的16位用于主機ID.(192.168.16.10)
- C類地址:IP地址的前24位用于網(wǎng)絡(luò)ID。最后的8位用于主機ID.(192.168.16.10)
- Ps:網(wǎng)絡(luò)ID永遠在主機ID之前
二進制
我們通常生活中的數(shù)學(xué)計算都是以十進制為基礎(chǔ)的, 任何一個數(shù)字都可以用個(1), 十(10), 百(100), 千(1000), 萬(10000)…這樣的數(shù)位相加而成

例如5349這個數(shù)可以用十進制表示為:
5349 =
5 * 1000 +
3 * 100 +
4 * 10 +
9 * 1
而二進制數(shù)顧名思義,就是以二進制為基礎(chǔ)的數(shù), 用0和1兩個數(shù)來表示, 同樣我們可以用二進制來表示任何一個數(shù)字

例如216這個數(shù)
216 =
1 * 128 +
1 * 64 +
0 * 32 +
1 * 16 +
1 * 8 +
0 * 4 +
0 * 2 +
0 * 1
提取乘號之前的數(shù)字我們得到所代表的二進制數(shù): 11011000
又比如8這個數(shù)字
8 =
1 * 8 +
0 * 4 +
0 * 2 +
0 * 1
得到轉(zhuǎn)換后的二進制數(shù): 1000
轉(zhuǎn)換過程
通過上面的分析, 我們可以了解到IP地址與二進制之間的轉(zhuǎn)換其實就是十進制與二進制之間的轉(zhuǎn)換
IP地址可以表示成這種32位二進制形式
11000000, 10101000, 00111011, 00011000
也可以是4位十進制形式:
192.168.59.24
- 二進制轉(zhuǎn)換為十進制

我們以11000000這個數(shù)為例, 根據(jù)上圖,將1,0依次代入所在數(shù)位, 然后相加所在數(shù)位數(shù)字:
1 * 128 +
1 * 64 +
0 * 32 +
0 * 16 +
0 * 8 +
0 * 4 +
0 * 2 +
0 * 1 = 192
192就是11000000的十進制形式
- 十進制轉(zhuǎn)換為二進制
- 參考本文二進制部分,同理, 附一張例子圖片

注:本文轉(zhuǎn)載自 前沿資訊圈微信公眾號;文內(nèi)觀點僅供參考。