1. 程式人生 > >淺談IP地址和子網掩碼的對應關系,以及2進制和10進制詳解!

淺談IP地址和子網掩碼的對應關系,以及2進制和10進制詳解!

2進制和10進制詳解!

大家好,我是帶你們成長的凡凡~

IP地址的結構:
#長度為 32 bit;先
#結構 - 網絡位 + 主機位

子網掩碼:
-作用
區分IP地址中的網絡位與主機位
必須與IP地址,一一對應,成對出現;

-表示
純2進制
點分十進制 (y.y.y.y) ->y的取值範圍是 0 --255
/n (n表示的是子網掩碼中有多少個1)
-功能實現
子網掩碼中1所對應的IP地址中的位,稱之為網絡位
子網掩碼中0所對應的IP地址中的位,稱之為主機位

網絡中的單位:

bit , 比特/位 , 網絡中的最小單位;
一個0表示1bit;一個1,也表示1bit;
如果是01,則表示2個bit;

1Byte,字節,相當於8個bit;
1Kbit , 1000bit;
1Mbit(兆),1000Kbit;
1Gbit(吉),1000Mbit;
1Tbit,1000Gbit;
1Pbit,1000Tbit

例如:
IP: 10101101 11001111 10010001 00001011
Mask: 11111111 11111111 11111111 00000000

-特點
#與IP地址一一對應;

#1和0永遠是連續的,不會交叉出現;
#左邊永遠是1,右邊永遠是0;

相關易混淆概念:
-反掩碼 (inverse-mask)
即將掩碼中的1和0互相變化就可以了。
-通配符(wildcard bits)
0和1可以交叉出現,也可以不交叉;(僅了解)

那首先大家都知道,IP地址和子網掩碼成對出現的。

例如: 192.168.1.1 255.255.255.0

這是大家所熟悉的IP地址,那其實這類IP地址是給人看的還有一種是給機器看的

這就是 2進制

像上面的IP地址(192.168.1.1我這裏用X來表示---->X.X.X.X)

每一個X代表一個字節,每一個字節呢,其實就是8個bit把192.168.1.1 255.255.255.0翻譯為二進制就是1100 0000.1010 1000.0000 0001.0000 0001 子網掩碼就是1111 1111.1111 1111.1111 1111.0000 0000 ,首先你肯能會問第一個問題為什麽192.168.1.1對應的子網掩碼對應的是255.255.255.0 這個我前面的博客講過,IP地址分為4類而四類子網掩碼默認就是255.255.255.0,但是這也不是絕對,可以更改----後面的子網劃分技術再講,先把4類對應的IP地址記下來就行了。

我們先講一下2進制度:

二進制度說白了就是只有兩個數字,一個0一個1,我們拿一個bit舉例

比如: 0000 0000 這是給機器看的對把,它代表的數字轉換為10進制度(給人看的)就是0

那如果我想把給人看的1表示為2進制該如何表示------0000 0001,這就代表一個字節1,假如是192.168.20.1 0000 0001代表的就是其中的1

如果我是192.168.20.2 這個IP地址如何用2進制表示呢?

很簡單 0000 0001這是1,前面說過2進制一共就兩個數字一個0,一個1那現在按照小學算術口訣來理解的話,我們每次到10就要進一位加到前面的數字上面去對不對,那2進制就是一到2就要進位,非常的簡單

0000 0001進一位-------->0000 0010 這就是代表2

那同樣如果我要表示3呢

在2的基礎上 0000 0010--------->0000 0011

表示4的話是不是又多加了1

在3的基礎上0000 0011 我需要加1就要進位,那最後一個進位了,倒數第二位又要進那就變成了

0000 0100------->這就是4 0000 0101---5 0000 0110-----6

我想講到這裏大家都理解2進制是如何轉換了,無非就是進位從10開始進位變成2開始進位

但其實這樣的話,無非很麻煩

因為假如192.168.123.254 這個IP地址,我們要轉換為4個字節,每個字節八個bit的2進制非常麻煩,這邊教大家一個類似於乘法口訣的東西--------8421碼

那我們知道每個字節都是八個bit,而一個IP地址一共4個字節

假如我們的八個bit全為1的話是多少?

1111 1111

我們先一一對應

1111 1111(2進制表示255)

128 64 32 16 8 4 2 1(十進制表示255)

每往前一位就是2的倍數加1,知道了這個對應關系先舉一個簡單的例子

128.64.32.16(十進制) 比如這是一個IP地址 如何轉化為2進制,直接把上面的8421碼對應起來

1000 0000.0100 0000.0010 0000.0001 0000(二進制)

2的0次方=1
2的1次方=2
2的2次方=4
2的3次方=8
2的4次方=16
2的5次方=32
2的6次方=64
2的7次方=128

在IP地址中最大的也就是2的7次方所以記住2的7次方就知道該如何轉化了實在不行,需要轉化的時候

1111 1111(2進制表示255)

128 64 32 16 8 4 2 1(十進制表示255)

就把這個對應表關系寫出來就OK了,一一轉化就好了

轉化機制的話還有一種16進制轉化,需要了解的朋友可以加我QQ。














淺談IP地址和子網掩碼的對應關系,以及2進制和10進制詳解!