IP地址常用的表示方法是a.b.c.d的形式。例如,北京大学主页的ip地址是162.105.131.113。其实IP地址还可以用一个长整数m来表示,它与a.b.c.d的关系是
m=(((a*256+b)*256+c)*256+d
例如,北大主页的地址也可以表示为2724823921L,或者用16进制表示为0xa2698371L。数字后面的L表示是长整数类型。
你可以在windows下验证这种表示方式:在浏览器地址栏里输入2724823921,IE会自动转换成162.105.131.113并访问该网站。参考
请编写一个程序,将a.b.c.d的表示方法转换成长整数表示。
输入:
常规的IP地址表示方法,a.b.c.d
输出:
对应的长整数表示方法
示例输入:
162.105.131.113↵
示例输出:
2724823921↵
import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { try{ Long a,b,c,d,m; //System.out.println("请输入ip地址 :"); Scanner cin = new Scanner(System.in); String str_in = cin.next(); Scanner s= new Scanner(str_in).useDelimiter("\\."); a=s.nextLong(); b=s.nextLong(); c=s.nextLong(); d=s.nextLong(); m=(((a*256+b)*256+c)*256+d); System.out.println(m); }catch(Exception e){ e.printStackTrace(); } } }