華為OJ(整數與IP位址間的轉換)

2021-07-04 20:09:28 字數 1318 閱讀 5640

描述

原理:ip位址的每段可以看成是乙個0-255的整數,把每段拆分成乙個二進位制形式組合起來,然後把這個二進位制數轉變成

乙個長整數。

舉例:乙個ip位址為10.0.3.193

每段數字             相對應的二進位制數

10                   00001010

0                    00000000

3                    00000011

193                  11000001

組合起來即為:00001010 00000000 00000011 11000001,轉換為10進製數就是:167773121,即該ip位址轉換後的數字就是它了。

的每段可以看成是乙個0-255的整數,需要對ip位址進行校驗

知識點字串,位運算

執行時間限制

10m記憶體限制

128輸入

輸入 1 輸入ip位址

2 輸入10進製型的ip位址

輸出輸出

1 輸出轉換成10進製的ip位址

2 輸出轉換後的ip位址

樣例輸入

10.0.3.193 167969729

樣例輸出

167773121 10.3.3.193

主要是整數轉換成字串有點麻煩。

#include#includeusing namespace std;

string intostr(int n)

int j=0;

i--;

while(i>=0)

str[j]='\0';

s=str;

return s; }}

bool intoip(unsigned int n)

if(n!=0)

return false;

cout<255)

return false;

ipsum=ipsum*256+iptmp;

} iptmp=atoi(s.c_str());

if(iptmp<0||iptmp>255)

return false;

else

ipsum=ipsum*256+iptmp;

cout<>s>>n;

iptoint(s);

intoip(n);

//system("pause");

return 0;

}

華為機試 整數與IP位址間的轉換

題目描述 原理 ip位址的每段可以看成是乙個0 255的整數,把每段拆分成乙個二進位制形式組合起來,然後把這個二進位制數轉變成 乙個長整數。舉例 乙個ip位址為10.0.3.193 每段數字 相對應的二進位制數 10 00001010 0 00000000 3 00000011 193 110000...

整數與ip位址間的轉換

原理 ip位址的每段可以看成是乙個0 255的整數,把每段拆分成乙個二進位制形式組合起來,然後把這個二進位制數轉變成 乙個長整數。舉例 乙個ip位址為10.0.3.193 每段數字 相對應的二進位制數 10 00001010 0 00000000 3 00000011 193 11000001 組合...

整數與IP位址間的轉換

原理 ip位址的每段可以看成是乙個0 255的整數,把每段拆分成乙個二進位制形式組合起來,然後把這個二進位制數轉變成 乙個長整數。舉例 乙個ip位址為10.0.3.193 每段數字 相對應的二進位制數 10 00001010 0 00000000 3 00000011 193 11000001 組合...