题意:由二进制的IP算出我们常用的十进制的IP地址
思路:水题!!!
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
char a[34];
int i,sum=0,m=7;
cin>>a;
for(i=0;i<32;i++)
{
if(m>=1) sum+=(a[i]-'0')*(2<<(m-1)); //(2<<(m-1)算出2的几次方的快速算法,即移位法,不能算2的0次方,故分为讨论
else sum+=(a[i]-'0');
m--;
if((i+1)%8==0)
{
if(i!=31) cout<<sum<<'.';
else cout<<sum<<endl;
sum=0; //每八位返回原值,便以计算余下的每八位
m=7;
}
}
}
return 0;
}