如何判斷兩個IP位址是不是在同乙個網段

2021-07-22 22:55:36 字數 1245 閱讀 2862

如何判斷兩個ip位址是不是在同乙個網段

要判斷兩個ip位址是不是在同乙個網段,就將它們的ip位址分別與子網掩碼做與運算,得到的結果一網路號,如果網路號相同,就在同一子網,否則,不在同一子網。

例:假定選擇了子網掩碼255.255.254.0,現在分別將上述兩個ip位址分別與掩碼做與運算,如下所示:  www.2cto.com  

211.95.165.24 11010011 01011111 10100101 00011000

255.255.254.0 11111111 11111111 111111110 00000000

與的結果是: 11010011 01011111 10100100 00000000

211.95.164.78 11010011 01011111 10100100 01001110

255.255.254.0 11111111 11111111 111111110 00000000

與的結果是: 11010011 01011111 10100100 00000000

可以看出,得到的結果(這個結果就是網路位址)都是一樣的,因此可以判斷這兩個ip位址在同乙個子網。

例如:有乙個c類位址為:192.9.200.13,按其ip位址型別,它的預設子網掩碼為:255.255.255.0,則它的網路號和主機號可按如下方法得到:

第1步,將ip位址192.9.200.13轉換為二進位制11000000 00001001 11001000 00001101

第2步,將子網掩碼255.255.255.0轉換為二進位制11111111 11111111 11111111 00000000

第3步,將以上兩個二進位制數邏輯進行與(and)運算,得出的結果即為網路部分。「11000000 00001001 11001000 00001101」與「11111111 11111111 11111111 00000000」進行「與」運算後得到「11000000 00001001 11001000 00000000」,即「192.9.200.0」,這就是這個ip位址的網路號,或者稱「網路位址」。  www.2cto.com  

第4步,將子網掩碼的二進位制值取反後,再與ip位址進行與(and)運算,得到的結果即為主機部分。如將「00000000 00000000 00000000 11111111(子網掩碼的取值)反」與「11000000 00001001 11001000 00001101」進行與運算後得到「00000000 00000000 00000000 00001101」,即「0.0.0.13」,這就是這個ip位址主機號(可簡化為「13」)。

如何判斷兩個IP位址是不是同乙個網段(超實用)

ip位址被用來給internet上的電腦乙個編號。大家日常見到的情況是每台聯網的pc上都需要有ip位址,才能正常通訊。我們可以把 個人電腦 比作 一台 那麼 ip位址 就相當於 號碼 而internet中的路由器,就相當於電信局的 程式控制式交換機 ip位址是乙個32位的二進位制數,通常被分割為4個...

比較兩個IP位址大小

define crt secure no warnings 避免不安全錯誤 include include include include include int main int argc,char argv data函式 比較程式 define crt secure no warnings in...

JavaScript如何判斷乙個值是不是數字

第一種方法 isnan 使用js自帶全域性函式isnan isnan 返回乙個boolean值,如下 var c hello 字串 isnan c 返回乙個true var c 10 數字 isnan c 返回乙個false 如果以上c為乙個空串或是乙個空格,isnan將把c當作數字0來處理,所以檢...