IP地址转换 (20 分)
一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。
【输入格式】
输入在一行中给出32位二进制字符串。
【输出格式】
在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。
输入样例:
【输入样例】
11001100100101000001010101110010
【输出样例】
204.148.21.114
import java.util.Scanner;
//一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。
public class IP地址转换 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
char[] ip = str.toCharArray();
int sum = 0;
int index = 0;
int[] res = new int[4];
int j = 1;
for (int i = ip.length - 1; i >= 0; i--) {
if (ip[i] - '0' == 1) {
sum += Math.pow(2, index);
}
index++;
if (index % 8 == 0) {
res[4 - j] = sum;
j++;
sum = 0;
index = 0;
}
}
for (int i = 0; i < res.length; i++) {
if (i != res.length - 1) {
System.out.print(res[i] + ".");
} else {
System.out.println(res[i]);
}
}
}
}