#include <iostream>
#include <bitset>
#include <string>
#include <sstream>
#include <cstdlib>
#define METHOD
using namespace std;
string ip2bin (string addr)
{
istringstream is(addr);
string buf;
string result;
while (!is.eof()) {
getline(is, buf, '.');
#ifdef METHOD
int t;
stringstream ss;
ss << buf;
ss >> t;
#else
int t = atoi(buf.c_str());
#endif
bitset<8> b(t);
result += b.to_string();
}
return result;
}
int main()
{
string addr("192.168.3.1");
cout << ip2bin(addr) <<endl; // output: 11000000101010000000001100000001
return 0;
}
备份地址: 【ip转2进制】