首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

整型同ip地址之间怎样互相转换

整型和 IP 地址之间可以相互转换。IPv4 是一个 32 位的数字,通常表示为四个数字(每个数字 8 位)的点分十进制格式,例如 192.168.1.1。IPv4 地址可以使用以下方法将其转换为一个整数:

将 IP 地址拆分成四个 8 位二进制数(每个数范围为 0 到 255),然后将它们组合在一起形成一个 32 位的整数。例如,192.168.1.1 可以转换为十进制数 3232235777(即 192*(256*256*256) + 168*(256*256) + 1*(256) + 1)。

Java 中可以使用以下代码将 IP 地址转换为整数:

```java

String ipAddress = "192.168.1.1";

String[] ipAddressInArray = ipAddress.split("\\.");

long result = 0;

for (int i = 0; i < ipAddressInArray.length; i++) {

int power = 3 - i;

int ip = Integer.parseInt(ipAddressInArray[i]);

result += ip * Math.pow(256, power);

}

System.out.println(result); // 输出 3232235777

```

将一个整数转换为 IP 地址,需要将整数的 32 位分成四个 8 位的部分(4 个字节),并将它们转换为点分十进制格式。可以使用以下代码将整数转换为 IP 地址:

```java

long ipAddressInLong = 3232235777L;

StringBuilder ipAddress = new StringBuilder();

for (int i = 0; i < 4; i++) {

int shift = (3 - i) * 8;

ipAddress.append((ipAddressInLong & (0xff > shift);

if (i != 3) {

ipAddress.append(".");

}

}

System.out.println(ipAddress); // 输出 192.168.1.1

```

在上面的代码中,将整数和各个字节相应的掩码进行按位与操作,然后将结果右移并添加到 IP 地址字符串中。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OH0anQiGe_BQhOWgTqeqgBLw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券