C# IP地址与整数之间转换的具体方法
时间:2023-06-20 13:33:25
IP地址与整数之间的转换
1、IP地址转换为整数
原理:IP地址每段可以看成是8位无符号整数即0-255,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个无符号的32位整数。
举例:一个ip地址为10.0.3.193
每段数字 相对应的二进制数
10 00001010
0 00000000
3 00000011
193 11000001
组合起来即为:00001010 00000000 00000011 11000001,转换为10进制就是:167773121,即该IP地址转换后的数字就是它了。
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
分割成四段:00001010,00001010,00000011,11000001,分别转换为整数后加上“.”就得到了10.0.3.193。
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();
}
标签:C#,IP地址,整数转换
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Springboot上传文件时提示405问题及排坑过程
2022-12-13 03:03:58
![](https://img.aspxhome.com/file/2023/7/63627_0s.png)
详解Android App中使用VideoView来实现视频播放的方法
2022-05-01 00:20:11
C#仿QQ聊天窗口
2022-09-30 09:12:39
![](https://img.aspxhome.com/file/2023/3/69823_0s.jpg)
Android按钮单击事件的四种常用写法总结
2023-07-15 09:05:18
Android应用创建多个快捷方式
2022-10-08 11:26:00
Android编程四大组件之BroadcastReceiver(广播接收者)用法实例
2023-07-23 16:45:39
Maven项目读取resources文件路径问题解决方案
2023-04-21 15:05:11
SpringBoot封装JDBC的实现步骤
2022-09-13 04:04:31
![](https://img.aspxhome.com/file/2023/0/70340_0s.jpg)
Android基于高德地图完全自定义Marker的实现方法
2023-03-09 03:32:30
![](https://img.aspxhome.com/file/2023/8/138618_0s.jpg)
使用SpringMVC的@Validated注解验证的实现
2023-09-20 19:49:55
java使用正则抓取网页邮箱
2022-12-02 10:30:30
![](https://img.aspxhome.com/file/2023/1/102001_0s.png)
android教程之使用popupwindow创建菜单示例
2023-01-24 22:08:10
Android 创建与解析XML(五)——详解Dom4j方式
2022-06-15 17:08:51
![](https://img.aspxhome.com/file/2023/8/109218_0s.png)
startJVM错误Unable to load native library: libjvm.so解决方法
2023-03-24 08:54:29
Java Spring Controller 获取请求参数的几种方法详解
2023-04-07 02:11:17
Java 爬虫工具Jsoup详解
2022-04-11 03:46:16
java web中的servlet3 upload上传文件实践
2021-07-09 08:33:28
C#排序算法之快速排序
2021-05-24 02:44:17
Java实现简单的递归操作方法实例
2021-11-01 14:37:32
![](https://img.aspxhome.com/file/2023/6/65306_0s.png)
C#字符串加密解密方法实例
2022-01-11 23:30:14