IP地址转换:一个IP地址是用4个字节(每个字节位)的二进制组成。输入32位二进制字符串,输出十进制格式的IP地址。所输出的十进制IP地址由4个十进制数组成(分别对应4个8位的二进制数),中间用圆点隔开。
输入输出示例:
01111001110000111011001011101010
121.195.178.234
#include<iostream>
#include<cstring>
#include<algorithm>
const int maxn=100;
using namespace std;
int main(void)
{
int a[maxn];
string str;cin>>str;
int sum1=0;int sum2=0;int sum3=0;int sum4=0;
for(int i=0;i<=7;i++)
sum1+= (str[i]-'0')*(1<<(7-i));
str.erase(0,8);
for(int i=0;i<=7;i++)
sum2+= (str[i]-'0')*(1<<(7-i));
str.erase(0,8);
for(int i=0;i<=7;i++)
sum3+=(str[i]-'0')*(1<<(7-i));
str.erase(0,8);
for(int i=0;i<=7;i++)
sum4+=(str[i]-'0')*(1<<(7-i));
cout<<sum1<<'.'<<sum2<<'.'<<sum3<<'.'<<sum4<<'.'<<endl;
return 0;
}