#include <iostream> #include <sstream> #include <string> #include <vector> using namespace std; unsigned int ip2dec(string& ip){ stringstream ss(ip); string str; unsigned int res = 0; while(getline(ss, str, '.')){ res = ((res << 8) | stoi(str)); } return res; } string dec2ip(unsigned int num){ unsigned int mask = (1 << 8) - 1; vector<string> ans; for(int i = 0; i < 4; i++){ int n = ((num >> (i * 8)) & mask); ans.push_back(to_string(n)); } string str; for(int i = ans.size() - 1; i >0; i--){ str += ans[i] + '.'; } return str + ans[0]; } int main() { string ip; unsigned int num; while (cin >> ip >> num) { // 注意 while 处理多个 case auto d = ip2dec(ip); auto p = dec2ip(num); cout << d << endl; cout << p << endl; } } // 64 位输出请用 printf("%lld")