IP地址和子網(wǎng)劃分之《進(jìn)制轉(zhuǎn)換》(一)

一、序:進(jìn)制轉(zhuǎn)換

只要愿意學(xué)習(xí),就一定能夠?qū)W會。 ——列寧

在學(xué)習(xí)IP地址之前,必須了解并熟練掌握二進(jìn)制、十進(jìn)制、八進(jìn)制、十六進(jìn)制以及它們之間的關(guān)系和互相轉(zhuǎn)換。本篇為預(yù)備知識:掌握二進(jìn)制、十進(jìn)制、八進(jìn)制、十六進(jìn)制以及它們之間的關(guān)系和互相轉(zhuǎn)換。

二、計算機(jī)中常見進(jìn)制及表示方法

1. 計算機(jī)中常見進(jìn)制

我們?nèi)粘I钪惺褂檬M(jìn)制。計算機(jī)只能識別二進(jìn)制,可以簡單的理解為:1代表通電(開),0代表斷電(關(guān))。二進(jìn)制使用起來不方便,十六進(jìn)制或八進(jìn)制可以很好的解決這個問題,如:二進(jìn)制數(shù)11111111用十六進(jìn)制數(shù)表示為FF,這樣更簡短,比較節(jié)省空間。

計算機(jī)常用進(jìn)制.jpg

2. 進(jìn)制的表示方法

不同的進(jìn)制需要不同的表示方法加以區(qū)分,本文采用后綴表示:

  • 二進(jìn)制:數(shù)字+字母B,如: 1111B。
  • 八進(jìn)制:數(shù)字+字母O,如: 1111O。
  • 十進(jìn)制:數(shù)字+字母D(可以省略),如:1111D。
  • 十六進(jìn)制:數(shù)字+字母H,如:1111H。

三、進(jìn)制間轉(zhuǎn)換

1.二進(jìn)制、十進(jìn)制間轉(zhuǎn)換

1.1 十進(jìn)制轉(zhuǎn)二進(jìn)制

十進(jìn)制轉(zhuǎn)換成二進(jìn)制整數(shù)就通常采用“除2取余,逆序排列”的方法。具體做法是十進(jìn)制整數(shù)除以2,得到一個商和余數(shù),再用2去除商,又會得到一個商和余數(shù),如此反復(fù),直到商為1停止。再把先得到的余數(shù)作為二進(jìn)制低位有效位,后得到的1作為二進(jìn)制高位有效位,依次排列。

【例】11轉(zhuǎn)換為2進(jìn)制數(shù):

除2取余.jpg

所以:11D = 1001B

1.2 二進(jìn)制轉(zhuǎn)十進(jìn)制

二進(jìn)制轉(zhuǎn)十進(jìn)制通常采用要從右到左用二進(jìn)制的每個數(shù)去乘以2的相應(yīng)次方(位數(shù)-1次方)。

【例】1101B轉(zhuǎn)換為10進(jìn)制數(shù):
1101B = 1×24-1 + 1×23-1 + 0×22-1 + 1×21-1
= 1×23 + 1×22 + 0×21 + 1×20
= 1×8 + 1×4 + 0×2 + 1×1
= 13

1.3 IP地址涉及的二進(jìn)制、十進(jìn)制轉(zhuǎn)換

從上面的例子我們發(fā)現(xiàn)二進(jìn)制N位上對應(yīng)了一個十進(jìn)制數(shù)字2N-1,我們來個坐凳子的游戲先!現(xiàn)在找來8張凳子(IPv4地址每組使用8位二進(jìn)制),右邊第一張凳子放上數(shù)字為1的牌,第二張凳子放上數(shù)字為2的牌(第一張凳子牌數(shù)乘以2),第三張放上數(shù)字為4的牌(第二張凳子標(biāo)簽數(shù)乘以2)......第8張放上數(shù)字為128的牌。

進(jìn)制轉(zhuǎn)換.jpg

現(xiàn)在一個二進(jìn)制數(shù) 1001 1001B,位上是1的表示對應(yīng)凳子上坐了一個人;位上為0,表示沒有沒有坐人。所有人都把牌舉起來!128+16+8+1 = 153,所以 1001 1001B = 153D。

【例】1010 0101B = ( )D
解:坐在凳子上的人牌舉起來!128+32+4+1 = 165D

【例】0100 1101B = ( )D
解:坐在凳子上的人牌舉起來!64+8+4+1 = 77D

請記住幾個比較特殊的二進(jìn)制:
111B(3位全1) = 7
1111B(4位全1) = 15
1111 1111B(8位全1) = 255

【例】1011 1111B = ( )D
解:凳子上坐滿人是255,現(xiàn)在64的凳子上沒有人,所以1011 1111B = 255 - 64 = 191D

【例】0111 1111B = ( )D
解:凳子上坐滿人是255,現(xiàn)在128的凳子上沒有人,所以0111 1111B = 255 - 128 = 127D

【例】1111 0000B = ( )D
解:凳子上坐滿人是255,后面4個凳子上沒有人,所以1111 0000B = 255 - 15 = 240D

【例】1011 1000B = ( )D
解:凳子上坐滿人是255,后面3個凳子和64的凳子上沒有人,所以1011 1000B = 255 - (64 + 7) = 184D

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容