#include<bits/stdc++.h>
using namespace std;
int two2ten(string s){
int r=0,t=1;
for(int i=s.size()-1;i>=0;i--){
r=r+(s[i]-'0')*t;
t=t*2;
}
return r;
}
int main(){
string xp;
cin>>xp;
string a,b,c,d,p[4];
int j=0,x=0;
for(int i=0;i<xp.size();i++){
x++;
p[j]+=xp[i];
if(x==8){
x=0;
j++;
}
}
for(int i=0;i<4;i++){
cout<<two2ten(p[i]);
if(i<3){
cout<<".";
}
}
//Write your code!
return 0;
}
/**
* @runId: 5793066
* @language: C++
* @author: 18995570820
* @submitTime: 2024-07-31 16:26:16
*/
/**
* @runId: 6351395
* @language: C++
* @author: 18995570820
* @submitTime: 2024-08-08 11:35:09
*/
描述
因特网中的每台主机都被分配了一个在全球范围内唯一的地址,即IP地址。IPv4地址是由一个32位二进制数表示的,如“11000000101010000000000000000001”。为了方便人们记忆与使用,把这个32位二进制数,每8个一段用“.”隔开。再把每一段二进制数转换成一个十进制数,这种IP地址的表示叫作“点分十进制表示法”。于是,上面的IP地址可以表示为“192.168.0.1”。
输入描述
一行,包含一个待转换的二进制串(32位,只含0或1)。
输出描述
一行,一个转换后的“点分十进制表示法”的IP地址。
样例输入:
11000000101010000000000000000001
样例输出 :
192.168.0.1