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

 更新时间:2021年9月22日 10:18  点击:1570
知识点:一个二进制数,按位左移n位,就是把该数的值乘以2的n次方
二进制除二即右移一位

1、IP地址转换为整数

原理:IP地址每段可以看成是8位无符号整数即0-255,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成
一个无符号32为整数。
举例:一个ip地址为10.0.3.193
每段数字 相对应的二进制数
10 00001010
0 00000000
3 00000011
193 11000001
组合起来即为:00001010 00000000 00000011 11000001,转换为10进制就是:167773121,即该IP地址转换后的数字就是它了。
复制代码 代码如下:

public class Ip {
public static void main(String[] args) {
System.out.print(ip2int("10.0.3.193"));
}
public static long ip2int(String ip) {
String[] items = ip.split("\\.");
return Long.valueOf(items[0]) << 24
| Long.valueOf(items[1]) << 16
| Long.valueOf(items[2]) << 8
| Long.valueOf(items[3]);
}
}


2、整数转换为IP地址

原理:把这个整数转换成一个32位二进制数。从左到右,每8位进行一下分割,得到4段8位的二进制数,把这些二进制数转换成整数然后加上”。”就是这个ip地址了
举例:167773121
二进制表示形式为:00001010 00000000 00000011 11000001
分割成四段:00001010,00001010,00000011,11000001,分别转换为整数后加上“。”就得到了10.0.3.193。
复制代码 代码如下:

public class Ip {
public static void main(String[] args) {
System.out.print(int2ip(167773121));
}
public static String int2ip(long ipInt) {
StringBuilder sb = new StringBuilder();
sb.append(ipInt & 0xFF).append(".");
sb.append((ipInt >> 8) & 0xFF).append(".");
sb.append((ipInt >> 16) & 0xFF).append(".");
sb.append((ipInt >> 24) & 0xFF);
return sb.toString();
}
}
[!--infotagslink--]

相关文章

  • PHP JS Ip地址及域名格式检测代码

    PHP IP地址格式检测函数复制代码 代码如下:function checkIp($ip){ $ip = str_replace(" ", "", $ip); $ip = strtolower($ip); $ip= str_replace("http://", "", $ip); $ip= str_replace("https://", ""...2013-10-04
  • C# byte转为有符号整数实例

    这篇文章主要介绍了C# byte转为有符号整数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-11
  • 解决使用了nginx获取IP地址都是127.0.0.1 的问题

    这篇文章主要介绍了解决使用了nginx获取IP地址都是127.0.0.1 的问题,获取i工具的完整代码文中给大家提到,具体实例代码跟随小编一起看看吧...2021-09-18
  • C++ 字符串string和整数int的互相转化操作

    这篇文章主要介绍了C++ 字符串string和整数int的互相转化操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-12-10
  • php 获得用户的真实IP地址

    一个段经典的代码可以用来获取用户的真实IP地址,包括可以是内网或是外网,有需要的朋友可以参考一下。 代码如下 复制代码 /** * 获得用户的...2016-11-25
  • 在VMware虚拟机中查看Linux的IP地址的方法

    这篇文章主要介绍了在VMware虚拟机中查看Linux的IP地址的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-04-16
  • PHP根据IP地址判断城市实现城市切换或跳转代码

    先要获取ip地址相当简单,下面先介绍两种获取IP地址的代码,后面需要利用QQIP库来查找当前IP是属于那个IP段然后得出城市字段并返回。 获取IP地址 代码如下 ...2016-11-25
  • php获取ip地址所在地查询程序

    文章利用了第三方接口来实现ip地址查询,这里根据用户提交的IP地址就可以方便的查出IP地址真实所在地。 代码如下 复制代码 <?php header("co...2016-11-25
  • php中获取真实IP地址与IP地址验证函数

    本文章就介绍二个函数一个是验证IP地址,另一个是获取用户的真实IP地址的函数,也是常用的两个IP操作函数,有需要的同学可以参考一下。 获取用户真实IP地址 代...2016-11-25
  • ip网段转换程序(把ip地址转换成相对就的整数)

    mysql教程_connect('localhost','root','root'); mysql_select_db('dfd'); $array = file("ip.txt"); foreach( $array as $k ) { list ($ip,$s) = explode('/',...2016-11-25
  • Python 实现反转整数的案例(很容易懂的那种)

    这篇文章主要介绍了Python 实现反转整数的案例(很容易懂的那种),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-10
  • 解决python3 整数数组转bytes的效率问题

    这篇文章主要介绍了解决python3 整数数组转bytes的效率问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-08
  • php中filter函数验证邮箱、url和ip地址的实例

    在看这函数之前我验证邮箱或IP地址及url都是使用正则表达式来处理,今天发现filter函数可以替换正则哦并且方法简单好用,下面我用实例介绍这函数的用法吧。 早年使用...2016-11-25
  • php判断IP地址是否在多个IP段内

    这篇文章主要为大家详细介绍了php判断IP地址是否在多个IP段内,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-08-19
  • C#编程获取IP地址的方法示例

    这篇文章主要介绍了C#编程获取IP地址的方法,结合实例形式分析了C#获取客户端IP地址的具体实现技巧,需要的朋友可以参考下...2020-06-25
  • ip地址转换成十进制实现程序

    网上下载的IP地址数据库中的IP地址并非是我们常见的格式(61.175.232.30),而是这种(1034938398)类型的数据,看起来这两个数据好像没有关连,很复杂,其实并不复杂 ,以&ldq...2016-11-25
  • PHP获取公网IP地址的程序代码

    公网IP地址就是指外网IP地址了,就是在用户访问我们php页面时我们可以获到用户的IP地址了,而这个IP地址就叫做公网IP地址了,下面整理了两个函数一起看看。 方法1: 获...2016-11-25
  • apache封ip地址的方法

    在配置文件里设置: 打开httpd.conf编辑,将下列block如下编辑: [代码] httpd.conf 代码如下 复制代码 <Directory /www> Order Deny,Allow Deny from...2016-01-28
  • C# IP地址与整数之间转换的具体方法

    这篇文章介绍了C# IP地址与整数之间转换的具体方法,有需要的朋友可以参考一下...2020-06-25
  • php获取客户端ip地址

    本教程提供几款获取IP地址的代码,各有各的优点,这里获取用户ip 是利用php的全局变量实现的,下面来看看有没有你要找的。 //最简单的方法 代码如下 复制代...2016-11-25