在討論如何進行IP地址與二進制之間的轉換前, 有必要解釋一下IP地址與二進制的概念
IP
- IP協議是網絡層的一個協議, 是能使連接到網上的所有計算機網絡實現相互通信的一套規則, 目的是根據源主機和目的主機的地址來傳送數據.
- IP地址是一組能夠識別主機和所在網絡的編號, 由32位二進制數組成(等于4字節),為便于使用,常以XXX.XXX.XXX.XXX形式表現,每組XXX代表小于或等于255的10進制數。
- 每個IP地址(盡管它看起來分為四部分)被分解成兩個部分......但這些部分并不相同。部分IP地址用于“網絡ID”,其余地址用于“主機ID”.網絡ID可以定位你所在的某個特定網絡, 而主機ID可以定位你所在網絡正在使用的主機
- 大多數IP地址可以劃分地址類別:
- A類地址:IP地址的前8位用于網絡ID。最終的24位用于主機ID.(192.168.16.10)
- B類地址:IP地址的前16位用于網絡ID。最后的16位用于主機ID.(192.168.16.10)
- C類地址:IP地址的前24位用于網絡ID。最后的8位用于主機ID.(192.168.16.10)
- Ps:網絡ID永遠在主機ID之前
二進制
我們通常生活中的數學計算都是以十進制為基礎的, 任何一個數字都可以用個(1), 十(10), 百(100), 千(1000), 萬(10000)…這樣的數位相加而成
例如5349這個數可以用十進制表示為:
5349 =
5 * 1000 +
3 * 100 +
4 * 10 +
9 * 1
而二進制數顧名思義,就是以二進制為基礎的數, 用0和1兩個數來表示, 同樣我們可以用二進制來表示任何一個數字
例如216這個數
216 =
1 * 128 +
1 * 64 +
0 * 32 +
1 * 16 +
1 * 8 +
0 * 4 +
0 * 2 +
0 * 1
提取乘號之前的數字我們得到所代表的二進制數: 11011000
又比如8這個數字
8 =
1 * 8 +
0 * 4 +
0 * 2 +
0 * 1
得到轉換后的二進制數: 1000
轉換過程
通過上面的分析, 我們可以了解到IP地址與二進制之間的轉換其實就是十進制與二進制之間的轉換
IP地址可以表示成這種32位二進制形式
11000000, 10101000, 00111011, 00011000
也可以是4位十進制形式:
192.168.59.24
- 二進制轉換為十進制
我們以11000000這個數為例, 根據上圖,將1,0依次代入所在數位, 然后相加所在數位數字:
1 * 128 +
1 * 64 +
0 * 32 +
0 * 16 +
0 * 8 +
0 * 4 +
0 * 2 +
0 * 1 = 192
192就是11000000的十進制形式
- 十進制轉換為二進制
- 參考本文二進制部分,同理, 附一張例子圖片
注:本文轉載自 前沿資訊圈微信公眾號;文內觀點僅供參考。