C 網路IP演算法

2021-08-25 22:18:54 字數 761 閱讀 2718

1、網路ip演算法要求

乙個網路位址a和乙個子網掩碼可以描述乙個子網,子網是乙個數包含32個二進位制位,前n個位為1,後32-n個位為0,如:255.255.255.48(11111111|11111111|11111111|11111000) 表示某個ip位址如果和a的前n位相等則說明其屬於這個子網。 

現給定n個網路位址組成一子網,求該子網的最小範圍的首位址和子網掩碼。

2、思路

求出ip位址在哪一位最開始存在不同即可解決,通過位運算的異或操作再取反即可得出。 

易錯地方: 

所有ip異或一輪之後,得出的結果可能有類似 111110100 的情況出現,不符合掩碼的要求; 

位運算的兩個小技巧,紀錄於此: 

1. a & (a - 1) 將a的二進位制位上最後乙個1轉為0 

2. a | (a - 1) 將a的二進位制位上末尾連續的0全部轉為1

3、**實現

#include #include #include #include #include #include #include #include #include #include #include using namespace std;

unsigned int num[1009] = {};

int main()

for(int i=3;i>=0;i--)

for(int i=3;i>=0;i--)

cout<}

return 0;

}

C 獲取IP等網路資訊

1 asp.net中獲取ip資訊 page.request.userhostname 獲取客戶端主機名稱 page.request.userhostaddress 獲取客戶端主機ip位址 2 webservice中獲取客戶端ip資訊 httpcontext.current.request.userh...

IP 網路基礎知識(IP網路)

使用者模式 switch 特權模式 switch 全域性配置模式 switch config 埠模式 switch config if 進入特權模式 en 進入全域性配置模式 conf t 進入交換機埠檢視模式 int f0 1 返回到上級模式 exit 從全域性以下模式返回到特權模式 end 幫助...

基於DHT網路的IP登記演算法

1,每個準備登入到dht網路的節點都要先通過乙個被請求節點b進行ip登記。2,b節點向拿著請求節點a的ip進行hash後向hash所在伺服器c進行登記。3,c收到請求後拿目標ip和自己的ip進行hash後得到a節點的節點id。4,將c的ip和id返回給節點b節點b返回給節點a。5,節點a得到自己節點...