题解 | #整数与IP地址间的转换#
整数与IP地址间的转换
http://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
/* **直接用stoi和to_string函数强撸 */ #include <iostream> #include <string> using namespace std; int main(void) { string s; unsigned int ip; while(cin >> s >> ip) { unsigned int t[4] = {0}; string v[4]; unsigned int oip = 0; int j = 0; for (int i = 0; i < s.size();i++) { if(s[i] == '.') { j++; } else { v[j] += s[i]; } } oip = stoi(v[0]) << 24 | stoi(v[1]) << 16 | stoi(v[2]) << 8 | stoi(v[3]) << 0; cout<< oip <<endl; string v1[4]; for (j = 0; j < 4; j++) { v1[j] = to_string(((ip >> ((3 - j) * 8)) & 0xff)); if (j == 3) cout<<v1[j] << endl; else cout<<v1[j] << "."; } } return 0; }