C# IP地址与整数之间转换的具体方法
IP地址与整数之间的转换 1、IP地址转换为整数 原理:IP地址每段可以看成是8位无符号整数即0-255,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个无符号的32位整数。 举例:一个ip地址为10.0.3.193 每段数字 相对应的二进制数 C#代码: 复制代码 代码如下: public static long IpToInt(string ip) { char[] separator = new char[] { '.' }; string[] items = ip.Split(separator); return long.Parse(items[0]) << 24 | long.Parse(items[1]) << 16 | long.Parse(items[2]) << 8 | long.Parse(items[3]); } 2、整数转换为IP地址 原理:把这个整数转换成一个32位二进制数。从左到右,每8位进行一下分割,得到4段8位的二进制数,把这些二进制数转换成整数然后加上”.”,就是这个ip地址了。 举例,整数:167773121 二进制表示形式为:00001010 00000000 00000011 11000001 C#代码: 复制代码 代码如下: public static string IntToIp(long ipInt) { StringBuilder sb = new StringBuilder(); sb.Append((ipInt >> 24) & 0xFF).Append("."); sb.Append((ipInt >> 16) & 0xFF).Append("."); sb.Append((ipInt >> 8) & 0xFF).Append("."); sb.Append(ipInt & 0xFF); return sb.ToString(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Tutorial: Loading and parsing external XML and JSON fil
- ajax上传文件
- C#单元测试 – 生成Mock DataContexts / LINQ – > SQL类
- swift-01-利用元组判断字符串出现次数
- c – uint8_t的类型乘以布尔值是什么?
- oracle通过DBlink连接mysql
- ruby-on-rails – Active Admin has_many可选择的记录列表
- ruby-on-rails – 如何判断rake db:migrate和rake db:see
- c# – 使用多个ServicePointManager.SecurityProtocol,首先
- ios – “框架模块中允许非模块化包含”设置究竟是什么?