题解 | 整数与IP地址间的转换
整数与IP地址间的转换
https://www.nowcoder.com/practice/66ca0e28f90c42a196afd78cc9c496ea
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.next();
String str2 = in.next();
String[] split = str.split("\\.");
long result = 0;
double power = 0;
for(int i = 3;i>=0;i--){
Integer num = Integer.valueOf(split[i]);
result +=(long) (num*Math.pow(2,power));
power +=8;
}
System.out.println(result);
Long num2 = Long.valueOf(str2);
String binaryString = Long.toBinaryString(num2);
int len = binaryString.length();
String str3 = "";
for(int i =0;i<32-len;i++){
str3+='0';
}
binaryString = str3+binaryString;
int n = Integer.valueOf(binaryString.substring(0,8),2);
int n2 = Integer.valueOf(binaryString.substring(8,16),2);
int n3 = Integer.valueOf(binaryString.substring(16,24),2);
int n4 = Integer.valueOf(binaryString.substring(24,32),2);
StringBuilder sb = new StringBuilder();
sb.append(n).append('.').append(n2).append('.').append(n3).append('.').append(n4);
System.out.println(sb.toString());
}
}
查看7道真题和解析