Ip和long互转

简介:
复制代码
// <summary>
        ///  将127.0.0.1形式的IP地址转换成十进制整数
        /// </summary>
        /// <param name="strIp"></param>
        /// <returns></returns>
        public long IpToLong(string strIp)
        {
            long[] ip = new long[4];
            int position1 = strIp.IndexOf(".");
            int position2 = strIp.IndexOf(".", position1 + 1);
            int position3 = strIp.IndexOf(".", position2 + 1);
            // 将每个.之间的字符串转换成整型  
            ip[0] = long.Parse(strIp.Substring(0, position1));
            ip[1] = long.Parse(strIp.Substring(position1 + 1, position2 - position1 - 1));
            ip[2] = long.Parse(strIp.Substring(position2 + 1, position3 - position2 - 1));
            ip[3] = long.Parse(strIp.Substring(position3 + 1));
            //进行左移位处理
            return (ip[0] << 24) + (ip[1] << 16) + (ip[2] << 8) + ip[3];
        }

        /// <summary>
        /// 将十进制整数形式转换成127.0.0.1形式的ip地址 
        /// </summary>
        /// <param name="ip"></param>
        /// <returns></returns>
        public string LongToIp(long ip)
        {
            StringBuilder sb = new StringBuilder();
            //直接右移24位
            sb.Append(ip >> 24);
            sb.Append(".");
            //将高8位置0,然后右移16
            sb.Append((ip & 0x00FFFFFF) >> 16);
            sb.Append(".");
            //将高16位置0,然后右移8位
            sb.Append((ip & 0x0000FFFF) >> 8);
            sb.Append(".");
            //将高24位置0
            sb.Append((ip & 0x000000FF));
            return sb.ToString();
        }
复制代码

 


本文转自快乐就好博客园博客,原文链接:http://www.cnblogs.com/happyday56/p/4064776.html,如需转载请自行联系原作者
相关文章
|
6月前
|
存储 机器学习/深度学习 搜索推荐
long long类型介绍
long long类型介绍
|
JSON 数据格式
Gson转换json数据为HashMap时long类型变为double问题解决
今天再使用Gson处理json数据的时候碰到了一个问题 , 当我使用如下代码解析json数据的时候 , requestTime就变为了double类型
286 0
|
存储 消息中间件 JavaScript
如何更快地将string转换成int/long 上
如何更快地将string转换成int/long 上
|
算法 Java 关系型数据库
如何更快地将string转换成int/long 下
如何更快地将string转换成int/long 下
|
Java
Java:String.format实现double类型保留固定小数位
Java:String.format实现double类型保留固定小数位
159 0
|
Java 编译器 Scala
值类型与 String 相互转换|学习笔记
快速学习值类型与 String 相互转换。
值类型与 String 相互转换|学习笔记
|
C++
【C++】string和int类型相互转换
【C++】string和int类型相互转换
249 0
【C++】string和int类型相互转换