`
Jameslyy
  • 浏览: 409636 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

IP表示为整数

阅读更多
int[] ip = {192, 168, 1, 100};

/* // 测试代码
System.out.println(Integer.toBinaryString(ip[0]));
System.out.println(Integer.toBinaryString(ip[1]));
System.out.println(Integer.toBinaryString(ip[2]));
System.out.println(Integer.toBinaryString(ip[3]));

System.out.println(" & 0xff: ");	// 不够八位的补齐八位
System.out.println(Integer.toBinaryString(ip[0] & 0xff));
System.out.println(Integer.toBinaryString(ip[1] & 0xff));
System.out.println(Integer.toBinaryString(ip[2] & 0xff));
System.out.println(Integer.toBinaryString(ip[3] & 0xff));

System.out.println("bit compute:");	// 不同部分位移8的倍数
System.out.println(Integer.toBinaryString((ip[0] & 0xff) << 24 ));
System.out.println(Integer.toBinaryString((ip[1] & 0xff) << 16 ));
System.out.println(Integer.toBinaryString((ip[2] & 0xff) << 8 ));
System.out.println(Integer.toBinaryString((ip[3] & 0xff) << 0 ));
*/

// 通过位或操作把位移之后的数加起来,得到的结果就是能够表示ip的整数
int v = ((ip[0] & 0xff) << 24 ) | ((ip[1] & 0xff) << 16 ) 
			| ((ip[2] & 0xff) << 8 ) | ((ip[3] & 0xff) << 0 );
System.out.println(Integer.toBinaryString(v));
System.out.println(v);

/* // 测试反向位移操作
System.out.println("reverse ip test ");
System.out.println(Integer.toBinaryString(0xff));
System.out.println(Integer.toBinaryString(v>>24));
System.out.println(Integer.toBinaryString(v>>24 & 0xff));
System.out.println(Integer.toBinaryString(v>>16));
System.out.println(Integer.toBinaryString(v>>16 & 0xff));
System.out.println(Integer.toBinaryString(v>>8));
System.out.println(Integer.toBinaryString(v>>8 & 0xff));
System.out.println(Integer.toBinaryString(v));
System.out.println(Integer.toBinaryString(v & 0xff));
*/

// 整数转化为ip数据
System.out.println("reverse ip: ");
ip[0] = v>>24 & 0xff;
ip[1] = v>>16 & 0xff;
ip[2] = v>>8 & 0xff;
ip[3] = v & 0xff;

for(int i: ip) {
	System.out.print(i+".");
}

 

分享到:
评论

相关推荐

    易语言转换IP到长整数

    IP地址通常以点分十进制的形式表示(例如:192.168.1.1),而转换为长整数可以将这个四部分组成的地址合并成一个单一的数值,便于进行比较和计算。 转换过程通常包括以下几个步骤: 1. **拆分IP地址**:首先,我们...

    IP文本整数互转.rar

    2. 对于IP地址转整数的函数,可以先将IP字符串按点分隔,然后逐个转换为整数,再组合成一个大整数。 3. 对于整数转IP地址的函数,可以先将整数分割成四部分,再将每部分转换为十进制字符串,最后拼接成IP地址字符串...

    易语言IP文本整数互转

    整数形式的IP地址是将四个8位段合并为一个32位整数,例如“192.168.1.1”对应的整数值为3232235777。 1. **IP文本到整数的转换**: - `IPToInt` 函数是易语言中用于将IP文本(点分十进制)转换为整数的函数。它的...

    IP分片时为啥片中数据长度要求为8字节的整数倍

    本知识点主要围绕IP分片的必要性以及为什么片中数据长度要求为8字节的整数倍这两个方面进行分析。 首先,我们来了解IP分片的背景。IP协议是一种无连接的协议,它不保证数据包的顺序和完整性,所以需要依靠上层协议...

    一个简单的Python脚本,它包含了将点分十进制IP地址转换为32位整数(通常称为IPv4地址的整数表示)和进行简单的IP地址校

    一个简单的Python脚本,它包含了将点分十进制IP地址转换为32位整数(通常称为IPv4地址的整数表示)和进行简单的IP地址校一个简单的Python脚本,它包含了将点分十进制IP地址转换为32位整数(通常称为IPv4地址的整数...

    ip转为十进制整数

    - 对于IP地址`127.0.0.1`,转换为整数的计算过程如下: - 第一部分(127)对应24位,因此需要左移24位; - 第二部分(0)对应16位,因此需要左移16位; - 第三部分(0)对应8位,因此需要左移8位; - 第四部分...

    易语言IP文本整数互转源码

    反之,整数转IP地址则需要将整数拆分成四个部分,每个部分对应IP地址的一个八位字节,并转换为十进制形式,然后用点分隔开来。 易语言的源码实现这一功能时,可能会包括以下几个步骤: 1. **输入处理**:接收用户...

    IP整数相互转换

    标题中的“IP整数相互转换”指的是在计算机网络中,IP地址可以有两种表示形式:点分十进制(Dotted Decimal)和整数(Integer)。点分十进制是我们常见的IPv4地址形式,如192.168.1.1,而整数形式则是将这个地址转换...

    易语言源码易语言IP文本整数互转源码.rar

    在计算机网络中,IP地址是用于唯一标识网络上设备的数字标签,而有时为了方便处理,我们会将其转换为整数形式存储或传输。理解这一转换过程对于网络编程和数据处理至关重要。 首先,我们需要了解IP地址的结构。IP...

    IP与数字 互相转换 C#

    该方法用于将IPv4地址字符串转换为一个整数表示。通过解析IPv4地址的每个部分,并将其按照特定权重相加得到一个整数。 **代码实现:** ```csharp /// /// 将IPv4地址转换为int表示 /// /// ...

    c++实现的将ip地址转换成四个int型,便于处理

    总结来说,C++中将IP地址转换为四个int型主要是通过字符串操作和整数转换实现的。了解这些基本的编程技巧,能够帮助我们在处理IP地址时更加得心应手。同时,随着技术的发展,如C++11及更高版本提供的新特性,如`std:...

    JAVA中IP和整数相互转化的方法

    这涉及到将IP地址(IPv4格式,如192.168.1.1)表示为一个整数,以及将整数还原为IP地址。下面将详细解释这两种转化方法,并提供相关的Java代码示例。 一、IP地址到整数的转换 IP地址通常以四段式(四部分十进制数...

    IP地址与整数之间的转换实现代码(asp.net)

    首先,IP地址转换为整数的原理基于IP地址的格式,IP地址由四个十进制数构成,这四个数分别称为IP地址的四个八位字节,每个数的范围在0到255之间。将这四个数转换为二进制形式,组合成一个32位的二进制数,然后将这个...

    python将ip地址转换成整数的方法

    通过这样的方法,我们可以方便地在Python中处理IP地址的整数表示,这对于数据存储、网络通信以及数据分析等场景具有很高的实用价值。记住,这些方法仅适用于IPv4地址,对于IPv6,需要使用不同的转换策略,例如`ip...

    合法IP的表示

    现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中...

    易语言IP文本整数互转源码-易语言

    例如,将第一个整数左移24位,第二个整数左移16位,第三个整数左移8位,第四个整数保持不变,然后将这四个整数相或,即可得到IP地址的整数表示。 反之,IP整数转文本的过程则相对复杂一些。首先,需要将大整数拆...

    IP地址转换整形工具

    因此,IP地址转换为整数和整数转换回IP地址的操作在编程和网络通信中非常常见。 IP地址转换成整数的过程,可以分为以下步骤: 1. 将每个八位段的十进制数转换为二进制,例如,192对应11000000,168对应10101000,1...

    ip表示互换

    标题中的“ip表示互换”指的是在互联网协议(IP)地址的两种主要表示形式之间的转换。IP地址是用来唯一标识网络上设备的一种数字标签,通常有两种形式:点分十进制(Dotted Decimal Notation)和整数表示。点分十...

    关于算IP地址、子网掩码

    如果IP地址为0而子网掩码为1,那么该位属于主机部分。 计算网络号/子网号: 网络号是IP地址与子网掩码进行逻辑“与”运算的结果。例如,IP地址192.168.1.100,子网掩码255.255.255.0,进行逻辑“与”后得到192.168....

Global site tag (gtag.js) - Google Analytics