Ip和long互转
// <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互转的更多相关文章
- 【python】点分十进制ip与数字互转
来源:http://www.cnblogs.com/vovlie/archive/2012/10/17/2727029.html 利用lambda表达式,非常简洁 int_to_ip = lambda ...
- MySQL怎样存储IP地址 IP转数字 互转
MySQL怎样存储IP地址 - cn三少 - 博客园 https://www.cnblogs.com/cnsanshao/p/3326648.html
- mysql实现IP与整形互转
- TCP/IP协议——TCP/IP协议栈及框架
TCP/IP协议同ISO/OSI模型一样,也可以安排成栈形式.但这个栈不同于ISO/OSI版本,比ISO/OSI栈少,所以又称之为短栈.另外,需要知道的是:TCP/IP协议栈只是许多支持ISO/OSI ...
- 内网IP和外网IP
1.什么是内网内网就是局域网,比如一个公司的局域网,局域网内每台计算机的IP地址是互异的,但不同局域网内的IP是可以相同的.2.什么是外网外网就是互联网,内网的所有计算机都是连接到一个外网IP,通过外 ...
- IP地址在mysql的存储
因为int比varchar(15)更高效,且php和mysql都有ip和int互转的函数,所以在ip地址在mysql中用int存储最优. mysql存储这个值是字段需要用int UNSIGNED.不用 ...
- 没有IP地址的主机怎样保持IP层联通
在<两台不同网段的PC直连能否够相互ping通>一文中,我有点像在玩旁门左道,本文中.我继续走火入魔.两台机器,M1和M2,各自有一个网卡eth0,配置例如以下:M1的配置:eth0上不配 ...
- Ip2Region IP转化地址位置
Ip2Region有中文和数据结构支持,是一个很好的第三方ip转换工具. java: <dependency> <groupId>org.lionsoul</groupI ...
- 使用keepalived及典型应用
通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务. eg:当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.栗子:下面来以keepaliv ...
随机推荐
- MySQL5.6 Waiting for Commit Lock
mysql Bug#19843808 自动修复记录 MySQL5.6和Xtrabackup之间存在一个bug,这个bug在5.6.23中已经修复. Xtrabackup备份的时候执行flushs t ...
- 使用开源my-deploy工具实现开发环境的代码自动化部署
@编者按: 由于公司内部存在的开发系统:内网开发--外网预发布--外网生产环境,程序员频繁的更新代码造成运维人员大量时间被占用,于是有了使用该开源工具的部署测试环节.在这里感谢该开源工具的作者,也希望 ...
- USACO 6.1 Cow XOR
Cow XORAdrian Vladu -- 2005 Farmer John is stuck with another problem while feeding his cows. All of ...
- python之web框架(2):了解WSGI接口
python之web框架(2):了解WSGI接口 1.什么是wsgi接口: wsgi:Web Service Gateway Interface.它不是模块,而只是一种规范,方便web服务器和各种框架 ...
- ubuntu16.04 更换源
1.备份 sudo cp /etc/apt/source.list /etc/apt/source.list.bak 2.打开/etc/apt/source.list,并删除所有内容 sudo ged ...
- Ext.example.msg()应用
①需要在开发包中包含文件夹example/shared中的example.js和example.css两个文件即可. ②在html文件中引入: <script src="../extj ...
- Windows 服务器部署 asp.net core
踩坑日记与 Windows 服务器部署 asp.net core 指南. 准备 操作系统:Windows Server 2008 R2 或更高版本 文件: Microsoft Visual C++ 2 ...
- 跟厂长学PHP7内核(三):源码目录结构
上篇文章我们已经介绍了源码分析工具的安装.配置以及调试方法,本文我们来讲述一下PHP源码的目录结构. 一.目录概览 以php-7.0.12为例,看过源码的同学们应该发现源码目录多达十多个,下面是每个目 ...
- Linux教程 - 管道和重定向
管道和重定向! 保持数据流动 介绍 在前两节中,我们看了一些可以为我们操作数据的过滤器.在本节中,我们将看到我们如何将它们结合在一起来执行更强大的数据操作. 本节涉及一些阅读.即使这些机制及其 ...
- 工具 EZDML表结构设计器
软件官网:http://www.ezdml.com/ 作者邮箱:huzzz@163.com EZDML EZDML是一个数据库建表的软件. 可快速的进行数据库表结构设计,建立数据模型. 类似大家常用的 ...