IP在数据库中储存,为了减少空间,可以存为无符号的整形,长度刚好够用。变换关系如下

这里使用Linq表达式

//ip转整型,示例结果为771452401
var ip = "45.251.109.241";
return ip.Split('.').Select((x, i) => int.Parse(x) << 8*(3-i)).Sum();

基本思路为 第一位 45 * (2 ^ 8) ^ 3 + 251* (2 ^ 8) ^ 2 + 109 * 2 ^ 8 + 241
可以当成这是一个256进制的数字转10进制

// 整型转ip,示例结果为 45.251.109.241
var ii = 771452401;
var ip = "";
foreach(int i in new int[4]) {ip = (ii % 256).ToString() + "." + ip;ii = ii >> 8;
}
return ip.Trim('.');

这里相当于上面的逆运算

这里乘以2的8次方,采用了位运算 向左移8位,全当扩展知识,计算速度也有一定的提升
乘以2的8次方,位运算,向右移

【C#】ip与无符号整型转换相关推荐

  1. 微信小程序js无符号整型转换有符号整型

    在开发微信小程序读取金桔蓝牙设备的时候,经常用到设置RSSI或者读取RSSI,蓝牙设备的RSSI数据放在一个8位的BYTE 下面,这样就需要将无符号的整型转换为有服务的整型数据,即将uint8 转换为 ...

  2. 为什么要把CV_8UC3(Vec3b)无符号整型转换成CV_32F(Vec3F)32位浮点数据类型?(在高精度下处理)

    因为用CV_32F做处理精度较高,后面显示最终还得转换回cv_8UC3 示例:提高图像对比度(rgb和灰度都已实现) #include <opencv2/opencv.hpp> #incl ...

  3. C语言无符号整型转换字符串,字符串转换无符号整型

    char* UInt32toStr(unsigned int n) {     char buf[10] = "";   static char str[10]="&qu ...

  4. 负数时的有符号整型和无符号整型的转换

    目录 一.补码 二.负数时的有符号整型和无符号整型的转换 三.关于无符号的笔试题 一.补码 有符号数在计算机中存储,用数的最高位存放符号, 正数为0, 负数为1 例如:有符号数 1000 0011,其 ...

  5. C语言中无符号整型变量赋值负数,负数时的有符号整型和无符号整型的转换

    目录 一.补码 二.负数时的有符号整型和无符号整型的转换 三.关于无符号的笔试题 一.补码 有符号数在计算机中存储,用数的最高位存放符号, 正数为0, 负数为1 例如:有符号数 1000 0011,其 ...

  6. php无符号整数转有符号整数,PHP中把有符号整型转换为无符号整型方法_PHP教程...

    PHP中把有符号整型转换为无符号整型方法 这篇文章主要介绍了PHP中把有符号整型转换为无符号整型方法,转换的方法很简单,本文直接给出转换方法,需要的朋友可以参考下 在一个短地址项目中,根据六位字符与I ...

  7. 无符号整型与有符号整型

    最近对于有符号整型与无符号整型,感觉很是头疼,都不知道怎么一回事.先看例子 #include<stdio.h> int main(void) {     unsigned a=2;     ...

  8. 26.【C语言】字符串转无符号整型unsignedint、字符串转有符号整型int、无符号整型unsignedint转字符串、有符号整型转字符串(5_task)

    算法思想: 1. 字符串转无符号整型unsignedint 初始化一个字符串str:num用于存放当前转换的整型数,初始化为0.对字符串str中的每个字符进行判断,一旦扫描到当前字符在数字字符的范围之 ...

  9. php 有符号整数,PHP中把有符号整型转换为无符号整型方法

    这篇文章主要介绍了PHP中把有符号整型转换为无符号整型方法,转换的方法很简单,本文直接给出转换方法,需要的朋友可以参考下 在一个短地址项目中,根据六位字符与ID的相互映射的算法,当ID超过214748 ...

最新文章

  1. 驾乘 AI 技术发展浪潮,全球最大中文 IT 社区 CSDN 宣布战略升级为 AI 社区
  2. 请解释一下TreeMap
  3. jzoj3501-消息传递【换根法,树形dp】
  4. 超越BI,数据产品的前途在哪里?
  5. sip网络电话 用户一直注册超时无法注册成功
  6. 实验二 语法分析1——递归子程序法
  7. Kmeans算法实现
  8. 最方便简单的经纬度查询方法
  9. 快手调整员工福利,​减少房补,增加生育津贴;百度网盘青春版正式上线,被吐槽;雷军回应小米对标苹果遭冷嘲热讽 | EA周报...
  10. 2022年上半年软考-嵌入式系统设计师-回忆版
  11. 下一代 TGW 从13Mpps到50Mpps性能优化之旅
  12. 钉钉如何调整组织架构_[钉钉组织架构设置]如何设置组织架构 组织架构设置的五个步骤...
  13. electron之坑addon
  14. 利用Cloudflare Workers部署臭鼬在线接头霸王项目实例
  15. 激光雷达和毫米波雷达工作原理对比
  16. 头部ct能检查出什么_脑部ct能检查出什么
  17. 韩国李世龙19岁当爹 与洪瑛琦姐弟恋开花结果
  18. ajax 不能打印出来数据,console打印数据,发现打印结果并非初始ajax返回的值
  19. 视频博主都在用的 音频素材网,免费还可商用
  20. Myth源码解析系列之三- 环境搭建

热门文章

  1. kurento教程_Kurento自定义模块:媒体对象不可用(代码:40108)
  2. 摩托罗拉A1200R刷机全攻略
  3. Java面向对象之继承和多态
  4. “互联网+”大创计划书万能模板2.0(直接复制粘贴)
  5. 怎么编辑图片大小?图片如何调整尺寸大小?
  6. 移动应用开发常见问题
  7. Win11 安装 Windows SDK
  8. 读 YYCache 源码解析
  9. 综合练习题(java)
  10. 关于tr中不能直接嵌套div的写法