#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地址的这种表示法叫做“点分十进制表示法”,这显然比1和0容易记忆得多。
现在需要从文件中读入一串代表着IP地址的二进制数。你的任务是将一个由0和1组成的32位二进制串转化成一个“点分十进制表示法”IP地址。这样的IP地址应该由4个数组成,每个数依次代表这个二进制串的8个位。为了便于你将一个正二进制数转换为一个正十进制数,特别为你需要知道2的前8位对应的十进制数如下:
Input Format
输入文件ipadress.in只有一行,为一个待转换的二进制串。
Output Format
输出文件ipadress.out只有一行,为一个转换后的带点的IP地址。
11001011100001001110010110000000
203.132.229.128