描述
给定一个点分十进制的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; }