ip to long 原理
时间:2013年08月01日作者:小侃评论次数:0
经常遇到把类似220.12.23.77 这样的ip转换成一个长整数的要求
PHP中还有专门的函数 ip2long long2ip,
ip to long 简单算法是这样的
function IpToInt($Ip) {
$array=explode(‘.’,$Ip);
$Int=($array[0] * 256*256*256) + ($array[1]*256*256) + ($array[2]*256) + $array[3];
return $Int;
}
代码很简单,但是有人不知道为什么要不停的乘以256,我来解释一下子
ip to long 的过程是这样的,先把ip转为2进制,再把4个2进制数连起来,
再把这个得到的2进制数转为10进制数,就是想要的数。
ip是4字节32位的,255转为2进制就是8个1,11111111,
220 11011100
12 00001100
23 00010111
77 01001101
把这4个连起来 11011100000011000001011101001101
再把它转为10进制,得到3691779917
也可以这样,位操作,道理是一样的
202<<24
96<<16
134<<8
133
最新评论
Does your site have a contact pa »
Post:2015-05-25 23:19:39请问你tag,云图的动画效果是怎么实现的?
Post:2015-04-23 16:16:47很强大!
Post:2012-03-17 23:03:43老师 您好,我想向您咨询一下,我 »
Post:2012-03-17 19:00:43电脑菜鸟一个搜黑客,就来到这里了 »
Post:2012-03-04 14:23:16我的为什么说无法保存到此处,请选 »
Post:2012-02-15 23:21:07小侃帅哥,姐姐来看你了。文章不错 »
Post:2011-12-18 18:26:03:!: :mrgreen:
Post:2011-09-05 16:53:36