// <summary>
/// 将127.0.0.1形式的IP地址转换成十进制整数
/// </summary>
/// <param name="strIp"></param>
/// <returns></returns>
public long IpToLong(string strIp)
{
long[] ip = new long[];
int position1 = strIp.IndexOf(".");
int position2 = strIp.IndexOf(".", position1 + );
int position3 = strIp.IndexOf(".", position2 + );
// 将每个.之间的字符串转换成整型
ip[] = long.Parse(strIp.Substring(, position1));
ip[] = long.Parse(strIp.Substring(position1 + , position2 - position1 - ));
ip[] = long.Parse(strIp.Substring(position2 + , position3 - position2 - ));
ip[] = long.Parse(strIp.Substring(position3 + ));
//进行左移位处理
return (ip[] << ) + (ip[] << ) + (ip[] << ) + ip[];
} /// <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 >> );
sb.Append(".");
//将高8位置0,然后右移16
sb.Append((ip & 0x00FFFFFF) >> );
sb.Append(".");
//将高16位置0,然后右移8位
sb.Append((ip & 0x0000FFFF) >> );
sb.Append(".");
//将高24位置0
sb.Append((ip & 0x000000FF));
return sb.ToString();
}

Ip和long互转的更多相关文章

  1. 【python】点分十进制ip与数字互转

    来源:http://www.cnblogs.com/vovlie/archive/2012/10/17/2727029.html 利用lambda表达式,非常简洁 int_to_ip = lambda ...

  2. MySQL怎样存储IP地址 IP转数字 互转

    MySQL怎样存储IP地址 - cn三少 - 博客园 https://www.cnblogs.com/cnsanshao/p/3326648.html

  3. mysql实现IP与整形互转

  4. TCP/IP协议——TCP/IP协议栈及框架

    TCP/IP协议同ISO/OSI模型一样,也可以安排成栈形式.但这个栈不同于ISO/OSI版本,比ISO/OSI栈少,所以又称之为短栈.另外,需要知道的是:TCP/IP协议栈只是许多支持ISO/OSI ...

  5. 内网IP和外网IP

    1.什么是内网内网就是局域网,比如一个公司的局域网,局域网内每台计算机的IP地址是互异的,但不同局域网内的IP是可以相同的.2.什么是外网外网就是互联网,内网的所有计算机都是连接到一个外网IP,通过外 ...

  6. IP地址在mysql的存储

    因为int比varchar(15)更高效,且php和mysql都有ip和int互转的函数,所以在ip地址在mysql中用int存储最优. mysql存储这个值是字段需要用int UNSIGNED.不用 ...

  7. 没有IP地址的主机怎样保持IP层联通

    在<两台不同网段的PC直连能否够相互ping通>一文中,我有点像在玩旁门左道,本文中.我继续走火入魔.两台机器,M1和M2,各自有一个网卡eth0,配置例如以下:M1的配置:eth0上不配 ...

  8. Ip2Region IP转化地址位置

    Ip2Region有中文和数据结构支持,是一个很好的第三方ip转换工具. java: <dependency> <groupId>org.lionsoul</groupI ...

  9. 使用keepalived及典型应用

    通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务. eg:当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.栗子:下面来以keepaliv ...

随机推荐

  1. hmm和Veterbi算法(一)

    只是略微的看了些,有点感觉,还未深入,做个记录. 参考: 隐马尔可夫 (HMM).前 / 后向算法.Viterbi 算法 再次总结 谁能通俗的讲解下 viterbi 算法? 数学之美第二版的第 26 ...

  2. [水煮 ASP.NET Web API2 方法论](3-1)集中式路由

    问题 怎样集中的定义路由 解决方案 通过调用 HttpRouteCollectionExtension 类中的 MapHttpRoute 扩展方法在 HttpRouteCollection 中定义路由 ...

  3. 安装CDM遇到的坑

    其实主要就是一个坑,就是版本不对应的问题. 我的环境是centos6.5,而官方提供的版本是分别针对centos6和centos5的,之前我进行软件实施的时候,下载的是centos5...... ht ...

  4. 再议js的传递和深复制

    病理 基本类型的传递就是按值传递,比如说 var a = 1; var b = a; b = 3; console.log(a,b);//1,3 很明显,a的值并未因为b的值改变而变化,这是因为a只是 ...

  5. 【转】关于Jmeter3.0,你必须要知道的5点变化

    2016.5.18日,Apache 发布了jmeter 3.0版本,本人第一时间上去查看并下载使用了,然后群里或同事都会问有什么样变化呢?正好在网上看到一遍关于3.0的文章,但是是英文的.这里翻译一下 ...

  6. Spring 单例 httprequest 线程安全

    @Autowired HttpServletRequest之所以线程安全是因为, httpsevletRequest 储存在 RequestContextHolder中. 每次http请求的doXXX ...

  7. 浅谈 Java 中的枚举

    枚举也就是一一列举,常用来表示那些可以明确范围的集合,比方说性别,季节,星期,月份等. 在 JDK 1.5 才出现枚举类,在没有出现枚举类之前,我们要表示几个确定的值通常会使用常量来表示,形如 pub ...

  8. JAVAEE——宜立方商城07:Linux上搭建Solr服务、数据库导入索引库、搜索功能的实现

    1. 学习计划 1.Solr服务搭建 2.Solrj使用测试 3.把数据库中的数据导入索引库 4.搜索功能的实现 2. Solr服务搭建 2.1. Solr的环境 Solr是java开发. 需要安装j ...

  9. Spring 定时操作业务需求

    1.定时分析 在业务需求中有的需要检测用户的状态,通过对用户状态的检测做出对此状态相应的操作,如果这种检测由运营人工检测,不仅工作量大,而且准确性不高,人工无法很好的完成工作: 问题根源:在检测用户状 ...

  10. 使用UniBeast安装Hackintosh(黑苹果)

    前期准备 UniBeast 原版macOS Sierra安装包,由于苹果并没有提供完整dmg的下载地址,我也不在此提供,大家可以从信任的途径取得,文件后缀必须为dmg. 16GB或者更大的U盘 至少2 ...