一:解题思路
举例:一个ip地址为10.0.3.193 转化后的整数为:167773121
二:完整代码示例 (C++版和Java版)
Ip地址转化为整数 C++代码:
int ipToInt(string s) { int ret = 0; int num = 0; for (int i = 0; i < s.size(); i++) { if (s[i] != '.') { num = num * 10 + (s[i]-'0'); } else { ret <<= 8; ret += num; num = 0; } } ret <<= 8; ret += num; return ret; }
整数转化为IP地址:
string intToIp(uint32_t num) { string strRet = ""; for (int i = 0; i < 4; i++) { uint32_t tmp = (num >> ((3 - i) * 8)) & 0xFF; char chBuf[8] = ""; _itoa_s(tmp, chBuf, 10); strRet += chBuf; if (i < 3) { strRet += "."; } } return strRet; }