`
hepeng1688
  • 浏览: 93939 次
  • 来自: ...
社区版块
存档分类
最新评论

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

    博客分类:
  • java
阅读更多

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

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 秒) - 正常终止


 
分享到:
评论

相关推荐

    把IP地址转换成实际地域名称

    IP地址是互联网上设备的唯一标识符,通常表现为一组数字,如192.168.1.1。而将其转换成实际的地域信息,如国家、地区和街道名称,能够帮助我们了解网络活动的来源地,对于业务分析和用户行为研究具有重要意义。 ...

    实例100 IP地址和计算机名相互转化的多线程处理.rar_计算机名

    本实例“实例100 IP地址和计算机名相互转化的多线程处理”就是针对这个问题提供的一种解决方案,特别是它引入了多线程处理,以提高程序的执行效率。 首先,让我们了解IP地址和计算机名的基本概念。IP地址(Internet...

    C#通过IP地址获取主机名称

    IP地址(Internet Protocol address)是互联网上的设备标识,通常表现为数字形式,如192.168.1.1。主机名称则是人类可读的字符串,例如"www.google.com",它与IP地址相对应,方便记忆。在DNS(Domain Name System)...

    通过IP地址获取主机名称c#

    在Internet上,DNS(Domain Name System)系统负责将IP地址与主机名称相互转换。 在C#中,我们可以利用`System.Net.Dns`命名空间中的类和方法来实现这个功能。关键在于使用`Dns.GetHostEntry`方法,它接受一个IP...

    C# IP地址查询器,数据是用纯真版的数据文件

    5. 枚举和字典数据结构:IP查询结果可能以枚举形式表示国家、地区等信息,而IP地址和对应信息之间的映射可能使用Dictionary来实现。 6. 异步编程:为了提高用户体验,可能使用async/await关键字进行异步操作,如在...

    IP协议-计算相关地址

    IP地址是IP协议分配给每个设备的唯一标识,通常表现为32位的二进制数,通常以点分十进制的形式展示。子网掩码则是用来定义网络地址和主机地址的边界,同样为32位的二进制数。 当我们知道一个IP地址和对应的子网掩码...

    易语言计算IP段源码.rar

    1. 数据类型:易语言提供了“字符串”类型来存储IP地址,因为IP地址本质上是一个字符串形式的数值表示。 2. 字符串操作:处理IP地址时,需要对字符串进行分割,将IP地址的四部分分开处理。易语言提供了“字符串取...

    MySQL中应该怎样存储IP地址

    3. **简化逻辑**:通过函数转换,可以轻松地在IP地址和数字之间切换,简化编程逻辑。 然而,这种方法并不适用于IPv6地址,因为IPv6的地址长度远远超过32位。对于IPv6,通常需要使用VARBINARY(39)或其他方式来存储,...

    IP转地址

    IP地址是一种在网络中唯一标识主机的方式,通常表现为数字形式,如192.168.1.1。而DNS则是将人类可读的域名转换为IP地址的系统。本主题将深入探讨IP地址与地址解析的过程。 首先,IP地址分为IPv4和IPv6两种类型。...

    纯真IP整理器直接提取IP数据库关键字为纯真数据

    3. **qqwry.dat文件**:这是纯真IP数据库的一种存储格式,包含IP地址与地理位置的对应关系,一般以二进制形式存储,需要特定的解析工具才能读取。 4. **数据提取与转换**:纯真IP整理器的核心功能在于解析qqwry.dat...

    如何正确应用网络地址转换(NAT)技术

    3. **网络地址端口转换NAPT(Port-Level NAT)**:将内部IP地址和端口号转换为外部网络的单个IP地址的不同端口号,是广泛应用的一种NAT形式,能够有效地利用有限的公网IP资源,同时提供额外的匿名性。 **四、NAT在...

    C#编写的IP控件

    相反,当需要显示IP地址时,可以用ToString()方法将其转化为字符串形式。 4. **事件处理**:为控件添加事件处理程序,如文本框的TextChanged事件,以便在用户输入时实时进行验证和反馈。此外,还可以添加其他事件,...

    H3C官方模拟器H3CCloudLab实验二十四网络地址转换

    NAPT不仅转换IP地址,还转换端口号,使得一台内部主机的多个连接可以通过同一个公有IP地址和不同的端口号在外部网络中表现出来。虽然实验没有直接涉及NAPT,但它是企业网络中常见的NAT类型,通常用于节省有限的公有...

    inet各种函数.pdf

    本文将详细介绍Linux环境下inet_pton、inet_ntop以及inet_aton这三个函数,它们是用于在点分十进制IP地址和二进制整数IP地址之间进行转换的重要工具。 首先,让我们关注inet_pton和inet_ntop这两个函数。它们在处理...

    总结一些你可能不知道的ip地址

    常见的IP地址格式为点分十进制,即由四个0-255之间的十进制数字组成,中间用点号分隔。然而,IP地址的表示方式并不局限于这种标准格式,还有其他一些不那么为人所知的形式。 首先,短IP是一种简化表示法。例如,127...

    Python源码实例-11 根据IP.rar

    例如,用`.`作为分隔符对IP地址进行拆分,或将整数转换为点分十进制形式。 8. 编程实践:这个压缩包可能包含了一个实际的Python脚本示例,演示了如何根据输入的IP地址执行上述操作。通过学习这个实例,你可以加深对...

    TCPIP规则.doc

    #### 二、IP地址的表现形式 **32位二进制形式:** 根据TCP/IP协议的规定,IP地址由32位二进制数组成。例如:`11010010010010011000110000000010`。 **点分十进制表示法:** 为了便于人类记忆,通常将32位二进制IP...

    易语言源码巧妙IP排序.7z

    IP地址是互联网上每台设备的唯一标识,通常以四段十进制数字的形式表示,如192.168.0.1。在处理大量IP地址时,排序是一个常见的需求,例如在数据分析或网络管理中。这个程序提供了一种巧妙的方法来完成这一任务。 ...

    NAT远程实验大全.。。

    NAT(网络地址转换)是Internet通信中的一个重要概念,它允许内部网络的设备使用私有IP地址进行通信,同时对外界表现为一个或多个公共IP地址。这种技术在解决IPv4地址枯竭问题、保护内部网络隐私以及简化网络管理等...

Global site tag (gtag.js) - Google Analytics