#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进制