华为od机试题【ipv4 地址转换成整数】用 java 解
时间: 2023-10-02 09:02:31 浏览: 142
华为OD机试真题1-10.docx
题目要求将一个IPv4地址转换成整数。IPv4地址由4个8位的字段组成,每个字段的取值范围是0-255。转换方法如下:
首先,将IPv4地址分成4个字段,例如:192.168.0.1。
然后,将每个字段的值转换成二进制数,并将这四个二进制数拼接在一起。
最后,将这个二进制数转换成十进制的整数。
用Java代码实现如下:
public class IPv4ToInteger {
public static void main(String[] args) {
String ipAddress = "192.168.0.1";
long result = convertIPv4ToInteger(ipAddress);
System.out.println(result);
}
public static long convertIPv4ToInteger(String ipAddress) {
String[] fields = ipAddress.split("\\.");
long result = 0;
for (int i = 0; i < fields.length; i++) {
long fieldValue = Long.parseLong(fields[i]);
result = (result << 8) + fieldValue;
}
return result;
}
}
以上代码将IPv4地址分割成4个字段,并使用Long.parseLong()方法将每个字段的字符串转换成长整型。然后,通过位移运算将四个字段的值拼接在一起,最后得到十进制的整数结果。运行该代码可以输入一个IPv4地址,得到对应的整数输出。
阅读全文