描述
给定一个点分十进制的IP地址,把这个IP地址转换为二进制形式。
输入
输入只有一行,一个点分十进制的IP地址
包括四个正整数,用三个.分开,形式为a.b.c.d
其中0<=a,b,c,d<=255
输出
输出只有一行,即转换为二进制形式IP地址,忽略多余的前缀0
样例输入
10.10.136.69
样例输出
1010.1010.10001000.1000101
#include<iostream>
#include<string>
using namespace std;
int a[8]={0};
void TenToTwo(int n)
{
int i=0,j;
if(n==0)
{
cout<<"0";
return;
}
while(n)
{
a[i]=n%2;
n=n/2;
i++;
}
for(j=i-1;j>=0;j--)
cout<<a[j];
}
int main()
{
string s;
cin>>s;
int len=s.length();
int i;
int temp=0;
for(i=0;i<len;i++)
{
if(s[i]!='.')
temp=temp*10+(s[i]-'0');
else
{
TenToTwo(temp);
cout<<".";
temp=0;
}
}
TenToTwo(temp);
cout<<endl;
return 0;
}