#2473. IP地址(东莞2010初赛第2题)

IP地址(东莞2010初赛第2题)

Description

众所周知,在电话通讯中,电话用户是靠电话号码来识别的。同样,在网络中为了区别不同的计算机,也需要给计算机指定一个号码,这个号码就是“IP地址

所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。按照TCP/IP协议规定,IP地址用二进制来表示,每个IP地址长32bit,比特(bit)换算成字节,就是4个字节。例如一个采用二进制形式的IP地址是“00001010000000000000000000000001”,这么长的地址,人们处理起来也太费劲了。为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节。于是,上面的IP地址可以表示为“10.0.0.1”IP地址的这种表示法叫做点分十进制表示法,这显然比10容易记忆得多。

现在需要从文件中读入一串代表着IP地址的二进制数。你的任务是将一个由01组成的32位二进制串转化成一个点分十进制表示法IP地址。这样的IP地址应该由4个数组成,每个数依次代表这个二进制串的8个位。为了便于你将一个正二进制数转换为一个正十进制数,特别为你需要知道2的前8位对应的十进制数如下:


Input Format

    输入文件ipadress.in只有一行,为一个待转换的二进制串。

Output Format

    输出文件ipadress.out只有一行,为一个转换后的带点的IP地址。

11001011100001001110010110000000
203.132.229.128

Source

模拟 字符串