一:解題思路
舉例:一個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; }