`
onewayonelife
  • 浏览: 252495 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

Int和Ip的相互转换

    博客分类:
  • Java
 
阅读更多

Utils

package org.wp.utils;

public class Utils {
	public static void main(String args[]) {
		int num = ipToInt("192.168.100.203");
		System.out.println(intToIp(num));
	}

	/**
	 * 通过左移位操作(<<)给每一段的数字加权
	 * 第一段的权为2的24次方 
	 * 第二段的权为2的16次方 
	 * 第三段的权为2的8次方 
	 * 最后一段的权为1
	 * 
	 * @param ip
	 * @return int
	 */
	public static int ipToInt(String ip) {
		String[] ips = ip.split("\\.");
		return (Integer.parseInt(ips[0]) << 24) + (Integer.parseInt(ips[1]) << 16)
				+ (Integer.parseInt(ips[2]) << 8) + Integer.parseInt(ips[3]);
	}

	/**
	 * 将整数值进行右移位操作(>>) 
	 * 右移24位,右移时高位补0,得到的数字即为第一段IP 
	 * 右移16位,右移时高位补0,得到的数字即为第二段IP
	 * 右移8位,右移时高位补0,得到的数字即为第三段IP 
	 * 最后一段的为第四段IP
	 * 
	 * @param i
	 * @return String
	 */
	public static String intToIp(int i) {
		return ((i >> 24) & 0xFF) + "." + ((i >> 16) & 0xFF) + "."
				+ ((i >> 8) & 0xFF) + "." + (i & 0xFF);
	}
}

 

 

 

分享到:
评论

相关推荐

    ipint:将 IP 地址转换为整数,反之亦然

    输入将 IP 地址转换为整数,反之亦然。用法 var ipint = require ( 'ipint' ) ;var ip = '174.36.207.186' , int = ipint . ipToInt ( '174.36.207.186' ) ;console . log ( ip + ' =&gt; ' + int ) ;console . log ( ...

    ip点分十进制和INT数值相互装换.txt

    python实现ip点分十进制核INT数值相互装换,IP转数值int,int转点分十进制

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

    主要介绍了JAVA中IP和整数相互转化的方法,涉及java数值转换的相关技巧,需要的朋友可以参考下

    IPConvertUtil.java

    根据ip和掩码计算ip地址段的开始和结束ip; 根据ip计算ip int值,类似于mysql函数 inet_aton和inet_ntoa

    python IP地址转整数

    下面我们就来看一下把 IPv4 地址转换成整数的原理和收益各是什么。 转换的原理 一个 IPv4 类的地址共分为四个部分 0.0.0.0 然而每一个部分的取值范围都在 0 ~ 255;也就是说每一个部分都可以用一个字节来保存,总共...

    你必须知道的495个C语言问题.pdf

    1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、short、long等类型。这样看来,所有的问题都解决了,是吗? 1.4 新的64位机上的64位类型是...

    最牛.Net公共类库,.net 开发类库Cmn

    类型转换类 TypeParse.cs 各种类型互相转换,如int string bool等 用户实用类 User.cs 登陆,退出时候身份加密或解除方式 验证码类 ValidateImage.cs 图片验证码 验证实用类 ValidateUtils.cs 数据类型,字符串功能,IP,...

    《你必须知道的495个C语言问题》

    1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、short、long等类型。这样看来,所有的问题都解决了,是吗? 2  1.4 新的64位机上的64位...

    你必须知道的495个C语言问题

    1.3 因为C语言没有精确定义类型的大小,所以我一般都用typedef定义int16和int32。然后根据实际的机器环境把它们定义为int、short、long等类型。这样看来,所有的问题都解决了,是吗? 1.4 新的64位机上的64位类型...

    NET公共类库[转发]

    类型转换类 TypeParse.cs 各种类型互相转换,如int string bool等 用户实用类 User.cs 登陆,退出时候身份加密或解除方式 验证码类 ValidateImage.cs 图片验证码 验证实用类 ValidateUtils.cs 数据类型,字符串功能,IP,...

    2016年广东省电子设计大赛健康电子专题——健康养殖远程监控系统(环境监控系统V1.0版本)-电路方案

    经过单片机(arduino)的处理,系统将传感器的数值转换为对应的水体指标数值,经过按键选择WIFI和GPRS传输模式,将数据上传至ONENET平台。用户可通过电脑网页或手机APP查看数据和控制水质处理设备。当水质指标超过...

    asp.net面试题

    十一、要为做了输出缓存的页面实现即时判断用户IP来路,可在以下哪种事件中实现? ( ) A.Page.InitB.HttpApplication.BeginRequest C.Page.LoadD.以上都不是 十二、下面哪个SQL语句完全正确( ) A.Select count(*) ...

    Javascript C#真正可以交互的DES加解密代码

    里面包含js的加解密函数和C#的加解密函数 如果你找到什么bug,或有啥好建议,不妨联系一下俺,呵呵: btw:在改写过程中,JS支持带符号位右移(&gt;&gt;&gt;操作符),而C#不支持, 非要把int转换成uint,再右移(&gt;

    测试培训教材

    注:由于Cruise Booking的测试是由Cruise Booking的需求转化而成的,所以需求覆盖中默认就覆盖了Cruise Booking的需求项 添加对“View Reservations”需求项的覆盖 -- Linking Tests to a Requiremnet 将测试...

    vc++ 开发实例源码包

    请求的长度在第一个INT中指定. 2) 每个服务器通常会向多种客户提供服务, 例如, TS要同时向CP, NP提供服务, CP要向NP和其他CP提供服务, 同时还是其他CP, TS, SP的客户. 3) 每个服务器为客户服务时, 通常是长期的, 会...

    大学文献检索资料 DOC

    信息: 应用文字、数据和信号形式通过一定的传递和处理,来表现各种相互联系的客观事物在运动变化中所具有特征性的内容的总称。 知识: 人们通过实践对客观事物极其运动过成和规律的认识。是人脑对客观事物传来的...

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    C#全能速查宝典

    1.4.41 ToInt32方法——转换为32位有符号整数 85 1.4.42 ToLongDateString 方法——转换为长日期字符串 86 1.4.43 ToLongTimeString 方法——转换为长时间字符串 87 1.4.44 ToLower方法——转换为小写 87 1.4.45 ...

Global site tag (gtag.js) - Google Analytics