·您的位置: 首页 » 资源教程 » 编程开发 » JAVA、JSP » java中实现IP地址的各种表现形式之间的转换

java中实现IP地址的各种表现形式之间的转换

类别: JAVA教程  评论数:0 总得分:0
*/

class IP
{
private static long ipToLong(String strIP)
//将127.0.0.1 形式的IP地址转换成10进制整数,这里没有进行任何错误处理
{
int j=0;
int i=0;
long [] ip=new long[4];
int position1=strIP.indexOf(".");
int position2=strIP.indexOf(".",position1+1);
int position3=strIP.indexOf(".",position2+1);
ip[0]=Long.parseLong(strIP.substring(0,position1));
ip[1]=Long.parseLong(strIP.substring(position1+1,position2));
ip[2]=Long.parseLong(strIP.substring(position2+1,position3));
ip[3]=Long.parseLong(strIP.substring(position3+1));
return (ip[0]<<24)+(ip[1]<<16)+(ip[2]<<8)+ip[3]; //ip1*256*256*256+ip2*256*256+ip3*256+ip4
}
private static String longToIP(long longIP)
//将10进制整数形式转换成127.0.0.1形式的IP地址,在命令提示符下输入ping 3396362403L
{
StringBuffer sb=new StringBuffer("");
sb.append(String.valueOf(longIP>>>24));//直接右移24位
sb.append(".");
sb.append(String.valueOf((longIP&0x00FFFFFF)>>>16)); //将高8位置0,然后右移16位
sb.append(".");
sb.append(String.valueOf((longIP&0x0000FFFF)>>>8));
sb.append(".");
sb.append(String.valueOf(longIP&0x000000FF));
sb.append(".");
return sb.toString();
}
public static void main(String[] args)
{
System.out.println("IP地址的各种表现形式:/r/n");
System.out.print("32位二进制形式:");
System.out.println(Long.toBinaryString(3396362403L));
System.out.print("十进制形式:");
System.out.println(ipToLong("202.112.96.163"));
System.out.print("普通形式:");
System.out.println(longToIP(3396362403L));
}
}

运行结果:


----------java ----------
IP地址的各种表现形式:

32位二进制形式:11001010011100000110000010100011
十进制形式:3396362403
普通形式:202.112.96.163.

输出完成 (耗时 1 秒) - 正常终止






-= 资 源 教 程 =-
文 章 搜 索
关键词:
类型:
范围:

纯粹空间 softpure.com
Copyright © 2006-2012 暖阳制作 版权所有
承接程序设计 网页设计
QQ: 15242663 (隐身在线 拒绝闲聊)  Email: faisun@sina.com

 纯粹空间 - 韩国酷站|酷站欣赏|教程大全|资源下载|免费博客|美女壁纸|设计素材|技术论坛  

百度搜索 谷歌搜索 Alexa搜索 | 粤ICP备19116064号-1