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得到自己節點...