#include <iostream>
#include <cstdio>
#include <cstring>
#include <deque>
using namespace std;
const int SZ = 20;
char ip[SZ];
deque<int> ip_bin_seq;
void ChangeIp2Bin() {
ip_bin_seq.clear();
int ip_len = strlen(ip);
int num = 0, base = 1;
for (int i = ip_len-1; i >= -1; i--) {
if (-1 == i || ip[i] == '.') {
for (int j = 0; j < 8; j++) {
ip_bin_seq.push_front(num % 2);
num /= 2;
}
num = 0;
base = 1;
} else {
num += base * ((int)(ip[i] - '0'));
base *= 10;
}
}
}
void Print() {
for (int i = 0; i < (int)ip_bin_seq.size(); i++) {
printf("%d", ip_bin_seq[i]);
}
printf("\n");
}
int main()
{
freopen("in.txt", "r", stdin);
while (EOF != scanf("%s", ip)) {
ChangeIp2Bin();
Print();
}
return 0;
}
把ip地址转换为二进制序列
最新推荐文章于 2024-08-14 00:19:04 发布