package itheima2;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符串Ip地址:");
String str = scanner.nextLine();
System.out.println(ipToLong(str));
System.out.print("请输入整数形式:");
Long NumberIP = scanner.nextLong();
System.out.println(longToIP(NumberIP));
System.out.println(longToIP(NumberIP) + "的二进制形式:" + Long.toBinaryString(NumberIP));
}
public static long ipToLong(String str){
String IP[] = str.split("\\.");//注意:.在正则表达式有有特殊含义,使用转义字符
Long number = (Long.parseLong(IP[0]) << 24) + (Long.parseLong(IP[1]) << 16) +
(Long.parseLong(IP[2]) << 8) + (Long.parseLong(IP[3]));
return number;
}
public static String longToIP(long IP){
StringBuilder builder = new StringBuilder("");
builder.append(String.valueOf(IP>>>24));
builder.append(".");
builder.append(String.valueOf((IP&0x00FFFFFF)>>>16));
builder.append(".");
builder.append(String.valueOf((IP&0x0000FFFF)>>>8));
builder.append(".");
builder.append(String.valueOf(IP&0x000000FF));
return builder.toString();
}
}
【Java】【字符串】IP地址与整数的相互转换
猜你喜欢
转载自blog.csdn.net/weixin_48180029/article/details/112132925
今日推荐
周排行