數制轉換以及IP位址的計算問題

2021-07-24 09:50:08 字數 1449 閱讀 5717

這幾天還是有同學一直在問數制轉換的問題,所以來這裡簡單描述一下具體的思路

其實在很早的時候我們就有了對於二進位制進行計算的概念,但是當時意識還是不夠強烈,但是現在做題做的多了感觸還是頗深的。

首先我們來講二進位制和十進位制的轉換,其實有多種方法,這裡我講我最常用的一種,就是位權法。老師最開始講的快速的方法也是這個。

我們都知道,二進位制就是滿二進一,和十進位制是類似的。什麼是位權呢,位權就是這個裡面美一位數字有了值能代表多大的數字,比如十進位制,每個位上最大的數字是9,所以位權表示如下:

那麼我們想要表示十進位制的6542怎麼辦呢,當然我們知道可以直接向裡面新增數字了,但是我們要是按照位權新增是不是就也是一樣了呢?由於十進位制每個位上都有多個數字值可以表示,所以不便於用位權來表示,但是二進位制的數字就不一樣了,因為每個位置上只有0和1這兩個數字,所以表示的也就是位權的內容,讓我們來看一下二進位制的位權:

有了位權,我們標誌數字在二進位製上就容易多了,舉個例子,例如表示二進位制的22,我們用位權如下圖所示

把數字按位權分解,總能得到乙個完整的位權相加的結果,所以在用到的位權上用1來標誌,用0在未使用的位權上邊標識,最後就完成了。

那麼十六進製制的數字表示也就不複雜了,由於四位二進位制可以標誌一位十六進製制(4位二進位制最大數字是15,符合十六進製制標準)如十六進製制7d3b2h可以表示為:

這樣一看其實進製的轉換其實也是很簡單的,下面的應用會讓這個方法更加的有效率。

首先我們先要弄清楚ip位址的計算都有什麼,首先ip位址有主機位址,子網掩碼,網路號和ip位址,他們之間存在著千絲萬縷的聯絡,他們之間只要知道兩個是可以計算出其他兩個的,這一點很是重要。

那麼首先來說他們的關係是什麼呢?如下圖所示,這個就是他們之間的運算關係。

其實很簡單對不對,當你得到了ip位址和任何乙個位址都可以進行計算,舉個例子:  

ip:192.123.11.5      子網掩碼:255.255.254.0          

ip:11000000.01111010.00001011.00000101      子網掩碼:11111111.11111111.11111110.00000000

這個裡面的運算和與的運算是等價的,於是乎我們就少了取反的步驟。

數制轉換與IP位址的關係

在生活中我們提到數字都是10進製的,例如1.2.3.4等等,但是在計算機中卻不是,計算機中使用的為2進製,即0和1,數制之間可以轉換,最常用到的是2進製 10進製 8進製 16進製制。下面來具體說說計算的方法 數制的概念 數制 記數的方法,指用一組固定的符號和統一的規則來表示數值的方法,如在計數的過...

IP位址以及IP位址的分類和CIDR

ip位址 ipv4 是由32位正整數表示,tcp ip通訊要求將這樣的ip位址分配給分給每乙個參與通訊的主機。ip位址由網路和主機兩部分標識組成。網路標識必須保證相互連線的每個段位址不同,而相同的段內的主機必須有相同的網路位址,相同的主機標識不能在同乙個段內出現。這樣就可以通過設定網路位址和主機位址...

計算連續的IP位址

題目 要求計算連續的ip位址。舉例 起始ip為192.168.2.2,ip總個數為3,那麼要求得的所有ip的為192.168.2.2,192.168.2.3,192.168.2.4。再舉個例子,起始ip為192.168.2.253,ip總個數為5那麼要求得的所有ip為192.168.2.253,19...