ip地址转换成十进制实现程序

,以“61.175.232.30”这个IP地址为例,IP地址转换成数字串方法如下:先将“61.175.232.30”转换为十六进制“3d.af.e8.1e”,然后去掉小数点后,变为“3dafe81e”,最后将这个十六进制数转换为十进制“1034938398”,那么“61.175.232.30”就变为“1034938398”了。

方法一:

 代码如下 复制代码

public function ipToLong(){
        $ip = $_SERVER['REMOTE_ADDR'];
        $ip = explode('.', $ip);
        $ip = array_reverse($ip);//数组反转
        $r = 0;
        for($i=0,$j=count($ip); $i<$j; $i++){
            $r += $ip[$i] * pow(256, $i);
        }
        $r = sprintf("%u", $r);
        echo $r;
}

方法二:

 代码如下 复制代码

public function ipToLong(){
        $ip = $_SERVER['REMOTE_ADDR'];
        $ip = explode('.',$ip);
        $r = ($ip[0] << 24) | ($ip[1] << 16) | ($ip[2] << 8) | $ip[3];
        if($r < 0) $r += 4294967296;
        echo $r ;
}

经测试本地的ip是:192.168.1.101,两个方法转换结果是3232235877

ping 192.168.1.101 和 ping 3232235877是一样的。

下面提供用C#实现IP地址转换的代码:

代码

    

 代码如下 复制代码

   //IP地址
       string Ip = "61.175.232.30";
       //取出IP地址去掉‘.’后的string数组
       string [] Ip_List = Ip.Split (".".ToCharArray ());
       string X_Ip = "";
       //循环数组,把数据转换成十六进制数,并合并数组(3dafe81e)
       foreach(string ip in Ip_List)
       {
               X_Ip += Convert.ToInt16 (ip).ToString ("x");
       }

       //将十六进制数转换成十进制数(1034938398)
       long N_Ip = long.Parse (X_Ip, System.Globalization.NumberStyles.HexNumber);

      OK,就这样转换成功了,不信,你可以用windows的命令行工具测试一下,ping 61.175.232.30 和 ping 1034938398 的效果是一样的,都是指向 61.175.232.30 的。

时间: 2024-10-17 10:20:34

ip地址转换成十进制实现程序的相关文章

PHP中如何将ip地址转成十进制数

  PHP 中如何将ip地址转成十进制数呢?现在PHP中有很多时候都会用到ip地址,但是这个ip地址获取的时候都不是10进制的.那么PHP中如何将ip地址转成十进制数就是我们比较头疼的事情了,下面两种方法是我整理处理来相对比较简单的IP地址转成十进制数的方法.希望能对大家有所帮助. 方法一: 代码如下 public function ipToLong(){ $ip = $_SERVER['REMOTE_ADDR']; $ip = explode('.', $ip); $ip = array_re

将string的IP地址转换成string[]

问题描述 在做一个自动修改IP的程序,遇到一个问题,在调用Win32_NetworkAdapterConfiguration时,需要将string的IP地址转换成string[],不知道怎么办了,过来请大家帮帮忙,先谢了! 解决方案 解决方案二:用点号作为分隔符分隔一下就好了吧?split解决方案三:stringip="192.168.1.1";string[]=ipArray.split('.'); 解决方案四:引用2楼steden的回复: C#codestringip="

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

 这篇文章主要介绍了python将ip地址转换成整数的方法,涉及Python针对IP地址的转换技巧,需要的朋友可以参考下     本文实例讲述了python将ip地址转换成整数的方法.分享给大家供大家参考.具体分析如下: 有时候我们用数据库存储ip地址时可以将ip地址转换成整数存储,整数占用空间小,索引也会比较方便,下面的python代码自定义了一个ip转换成整数的函数,非常简单,代码同时还提供了整数转换成ip地址的方法. ? 1 2 3 4 5 6 7 import socket, struc

PHP中将ip地址转成十进制数的两种实用方法_php实例

PHP中如何将ip地址转成十进制数呢?现在PHP中有很多时候都会用到ip地址,但是这个ip地址获取的时候都不是10进制的.那么PHP中如何将ip地址转成十进制数就是我们比较头疼的事情了,下面两种方法是我整理处理来相对比较简单的IP地址转成十进制数的方法.希望能对大家有所帮助. 方法一: 复制代码 代码如下: public function ipToLong(){ $ip = $_SERVER['REMOTE_ADDR']; $ip = explode('.', $ip); $ip = array

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

本文实例讲述了python将ip地址转换成整数的方法.分享给大家供大家参考.具体分析如下: 有时候我们用数据库存储ip地址时可以将ip地址转换成整数存储,整数占用空间小,索引也会比较方便,下面的python代码自定义了一个ip转换成整数的函数,非常简单,代码同时还提供了整数转换成ip地址的方法. import socket, struct def ip2long(ip): """ Convert an IP string to long """

PowerShell把IP地址转换成二进制的方法_PowerShell

IPv4地址其实是32位二进制数字,然后我们将它分成四段,每段8位.8位二进制能表达的范围是0~255,所以点分十进制的每一个数字的取值都在0~255之间.有的时候,比如为了换算子网掩码,我们需要将IP地址还原成二进制串的形式,如:11000000101010000000110000100001.今天小编看到一个例子就是来完成这个操作的. 代码如下: 复制代码 代码如下: $ipV4 = '192.168.12.33' -join ($ipV4.Split('.') | ForEach-Obje

纯真IP数据库的应用 IP地址转化成十进制_php实例

原来是需要把IP转成十进制 复制代码 代码如下: $ip = $_SERVER['REMOTE_ADDR']; echo '你的IP:'.$ip.'<br />'; $ip_arr = explode(".",$ip); $ip = 0; foreach($ip_arr as $i=>$s){ $ip += $s*pow(256,3-$i); } echo '转十进制值:'.$ip.'<br />'; //结果你的IP:127.0.0.1 转十进制值:21

ip网段转换程序(把ip地址转换成相对就的整数)

mysql教程_connect('localhost','root','root'); mysql_select_db('dfd'); $array = file("ip.txt"); foreach( $array as $k  ) {  list ($ip,$s) = explode('/',$k);  $ipe = str_replace('.0','.255',$ip);  $ipint = iptoint($ip);  $ipinte = iptoint($ipe);   /

java中IP地址转换十进制数实现代码

先看实例  代码如下 class ip { private static long iptolong(string strip) //将127.0.0.1 形式的ip地址转换成10进制整数,这里没有进行任何错误处理 { int j=0; int i=0; long [] ip=new long[4]; int position1=strip.indexof("."); int position2=strip.indexof(".",position1+1); int