将long转换为字符串形式的ip地址

时间:2018-10-21 13:43:30

标签: java

在输入程序中,以字符串形式设置来自Scaner的两个IP地址, 程序对之间的所有地址进行排序。

示例:

第一个IP:192.168.0.1 第二个IP:192.168.0.5

我需要关注 192.168.0.2 192.168.0.3 192.168.0.4

这是解决方法:

command that install this >/dev/null

1 个答案:

答案 0 :(得分:2)

您可以将值存储为hex而不是十进制,并从中获取每个字节,例如:

class llong {
    public static void main(String[] args) {
        long ip1 = 0xFF01FF80; // 255.1.255.128
        long ip2 = 0xEE28BE15; // 238.40.190.21
        System.out.println(convertHexToIp(ip1));
        System.out.println(convertHexToIp(ip2));
    }
    public static String convertHexToIp(long hex) {
        String result = "";
        result += (hex>>24 & 0xFF) + ".";
        result += (hex>>16 & 0xFF) + ".";
        result += (hex>>8 & 0xFF) + ".";
        result += (hex & 0xFF);
        return result;      
    }
}