题意
给出32位的二进制数,每8位一组,算出这八位的十进制数,然后按格式输出
难点
也没啥难点。。。按照格式一个个的输出即可
我用了一个小技巧,通过字符串输入32位数,然后再把它转化为数字
代码
// POJ2105
#include <iostream>
#include <string>
using namespace std;
int fun(int k){
int sum=1;
for(int i=0;i<k;i++){
sum*=2;
}
return sum;
}
int main(){
int n;
cin>>n;
while(n--){
int sum1=0,sum2=0,sum3=0,sum4=0,s[32],i;
string temp;
cin>>temp;
for(i=0;i<32;i++){
s[i] = temp[i]-'0';
}
for(i=0;i<8;i++){
sum1+=(s[i]*fun(7-i));
}
for(i=8;i<16;i++){
sum2+=s[i]*fun(15-i);
}
for(i=16;i<24;i++){
sum3+=s[i]*fun(23-i);
}
for(i=24;i<32;i++){
sum4+=s[i]*fun(31-i);
}
cout<<sum1<<"."<<sum2<<"."<<sum3<<"."<<sum4<<endl;
}
return 0;
}