`

ip地址与Long型数据进行相互转换

    博客分类:
  • java
阅读更多
/**
* 根据ip地址计算出long型的数据
* @param ipStr
* @return
*/

    public static long ip2Long(String strIP){
        long[] ip=new long[4];
        //先找到IP地址字符串中.的位置
        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];
   }
   
   //将10进制整数形式转换成127.0.0.1形式的IP地址
   public static String long2IP(long longIP){
        StringBuffer sb=new StringBuffer("");
        //直接右移24位
        sb.append(String.valueOf(longIP>>>24));
        sb.append(".");        
        //将高8位置0,然后右移16位
        sb.append(String.valueOf((longIP&0x00FFFFFF)>>>16));
        sb.append(".");
        sb.append(String.valueOf((longIP&0x0000FFFF)>>>8));
        sb.append(".");
        sb.append(String.valueOf(longIP&0x000000FF));
        return sb.toString();
   }
分享到:
评论

相关推荐

    IP与数字 互相转换 C#

    ### IP与数字互相转换C# #### 知识点概述 在计算机网络中,IP地址是设备在网络中的唯一标识。IPv4地址通常表示为四个十进制数字(每个数字范围0到255),用点号分隔。例如:`192.168.1.1`。在某些应用场景下,将...

    ip2long和long2ip的学习程序

    在IT行业中,网络编程是不可或缺的一部分,而IP地址与数字之间的转换经常出现在各种网络操作中。`ip2long`和`long2ip`是两个在PHP中常用的函数,用于将IPv4地址转换为整型数字(长整型)以及将整型数字还原为IPv4...

    PHP实现IP–数字互相转换

    在IT领域,网络编程是不可或缺的一部分,而IP地址与数字之间的转换则是网络编程中的常见操作。本文将深入探讨如何使用PHP实现IP地址与数字(通常称为整型或长整型)之间的相互转换,同时参考提供的博客链接:[链接已...

    Java编程IP地址和数字相互转换代码示例

    * 数据存储:在数据存储中,IP地址和数字相互转换可以用来存储和处理IP地址信息。 * 网站开发:在网站开发中,IP地址和数字相互转换可以用来实现IP地址的验证和处理。 知识点5:总结 Java编程IP地址和数字相互转换...

    java实现ip地址与十进制数相互转换

    在Java编程中,IP地址与十进制数之间的转换是一个常见的需求,特别是在网络编程和数据处理中。IP地址通常以点分十进制(dotted decimal notation)的形式表示,如"192.168.1.1",而计算机内部则是以32位无符号整数的...

    PHP中IP地址与整型数字互相转换详解

    在实际应用中,将IP地址转换为整型并存储在数据库中,相比存储为字符串类型,可以有效地减少索引的大小并提升查询效率,尤其是当处理大量数据或者需要进行IP段查询时。在进行IP转换时,必须注意ip2long函数的潜在...

    ip转为十进制整数

    ### IP地址与十进制整数的转换 在计算机网络领域中,IP地址是设备在网络中的唯一标识。...通过以上两个方法,我们可以实现IP地址与十进制整数之间的相互转换,从而更好地处理网络相关的数据和逻辑。

    VB进制间互相转换的程序

    - **进制转换在实际应用中的场景**:如网络协议解析(IP地址、MAC地址的处理)、计算机存储(二进制表示内存和硬盘上的数据)、编码系统(ASCII、Unicode等)等。 - **进制转换的局限性**:虽然VB提供了基础的转换...

    基于Java 实现的二进制十进制之间的相互转换

    例如,网络协议中的IP地址和端口号通常用二进制表示,而编程时需要进行解析和处理。位操作如按位与(&),按位或(|),按位异或(^)等也涉及到二进制数的转换。 五、总结 理解和掌握二进制和十进制之间的转换是编程...

    大小端字节序介绍几转换

    ### 大小端字节序概念与转换 #### 一、引言 在计算机系统中,数据的存储和传输方式至关重要。特别是在网络通信领域,不同的系统可能会采用不同的字节序来存储多字节数据,这可能导致数据解释上的不一致。因此,理解...

    linux网络编程[收集].pdf

    在处理IP地址时,经常需要将点分十进制的字符串形式与`in_addr`结构体之间的相互转换。`inet_aton()`函数用于将点分十进制字符串转换为`in_addr`结构体,而`inet_ntoa()`函数则执行反向操作,将`in_addr`结构体表示...

    socket套接字1

    将IP地址从字符串形式转换为二进制形式,可以使用`inet_addr()`,反之用`inet_ntoa()`: ```c unsigned long inet_addr(const char *cp); char * inet_ntoa(in_addr in); ``` 通过域名获取IP地址,可以使用`get...

    android编程之ip2id程序实例

    在Android编程中,IP2ID程序是一个实用工具,它的主要目的是将IP地址转换为特定的ID号,这种转换在某些项目中可能非常有用,比如在为网络设备分配唯一标识时。下面我们将深入探讨这个程序实例的实现细节以及相关知识...

    2021-2022计算机二级等级考试试题及答案No.10525.docx

    - **数据类型转换**:在C语言中,不同类型之间的数据可以通过显式类型转换来相互赋值。例如,整型变量可以直接赋值给长整型变量,但长整型变量赋值给整型变量时需要显式转换类型。 - **错误案例**:`i=j`(其中`i`为...

    2021-2022计算机二级等级考试试题及答案No.19826.docx

    错误的说法是IP地址由32位十进制数组成,实际上每个部分都是8位二进制转换成的十进制数。 【关系数据库术语】关系数据库中,记录、字段和数据项是基本术语,而"模型"更倾向于描述数据库的整体设计,如ER模型或关系...

    Java_TCPIP_Socket编程

    - **基本整型**:Java提供了多种整型数据类型,如int、long等,它们需要转换成字节序列才能在网络上传输。 - **字符串和文本**:字符串通常使用UTF-8编码进行传输。 - **位操作**:对于布尔值和其他特殊类型的...

    2021-2022计算机二级等级考试试题及答案No.9819.docx

    - **解释**:Java中数值数据类型的转换顺序是`byte`→`short`→`int`→`long`→`float`→`double`。这是因为数据类型的宽度依次增加,从较小的数据类型向较大的数据类型转换时不会丢失精度。 ### 6. PowerPoint的...

    2021-2022计算机二级等级考试试题及答案No.10071.docx

    15. Java数据类型转换:自动类型转换顺序是从小到大,即byte→short→int→long→float→double,B选项正确。 16. 面向对象编程:面向对象中,对象之间相对独立,相互依赖性小,C选项正确。 17. 数据库三级模式:...

Global site tag (gtag.js) - Google Analytics