1182-IP地址转换

描述

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

} 

  

你可能感兴趣的:(IP地址)