【C#】ip与无符号整型转换
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与无符号整型转换相关推荐
- 微信小程序js无符号整型转换有符号整型
在开发微信小程序读取金桔蓝牙设备的时候,经常用到设置RSSI或者读取RSSI,蓝牙设备的RSSI数据放在一个8位的BYTE 下面,这样就需要将无符号的整型转换为有服务的整型数据,即将uint8 转换为 ...
- 为什么要把CV_8UC3(Vec3b)无符号整型转换成CV_32F(Vec3F)32位浮点数据类型?(在高精度下处理)
因为用CV_32F做处理精度较高,后面显示最终还得转换回cv_8UC3 示例:提高图像对比度(rgb和灰度都已实现) #include <opencv2/opencv.hpp> #incl ...
- C语言无符号整型转换字符串,字符串转换无符号整型
char* UInt32toStr(unsigned int n) { char buf[10] = ""; static char str[10]="&qu ...
- 负数时的有符号整型和无符号整型的转换
目录 一.补码 二.负数时的有符号整型和无符号整型的转换 三.关于无符号的笔试题 一.补码 有符号数在计算机中存储,用数的最高位存放符号, 正数为0, 负数为1 例如:有符号数 1000 0011,其 ...
- C语言中无符号整型变量赋值负数,负数时的有符号整型和无符号整型的转换
目录 一.补码 二.负数时的有符号整型和无符号整型的转换 三.关于无符号的笔试题 一.补码 有符号数在计算机中存储,用数的最高位存放符号, 正数为0, 负数为1 例如:有符号数 1000 0011,其 ...
- php无符号整数转有符号整数,PHP中把有符号整型转换为无符号整型方法_PHP教程...
PHP中把有符号整型转换为无符号整型方法 这篇文章主要介绍了PHP中把有符号整型转换为无符号整型方法,转换的方法很简单,本文直接给出转换方法,需要的朋友可以参考下 在一个短地址项目中,根据六位字符与I ...
- 无符号整型与有符号整型
最近对于有符号整型与无符号整型,感觉很是头疼,都不知道怎么一回事.先看例子 #include<stdio.h> int main(void) { unsigned a=2; ...
- 26.【C语言】字符串转无符号整型unsignedint、字符串转有符号整型int、无符号整型unsignedint转字符串、有符号整型转字符串(5_task)
算法思想: 1. 字符串转无符号整型unsignedint 初始化一个字符串str:num用于存放当前转换的整型数,初始化为0.对字符串str中的每个字符进行判断,一旦扫描到当前字符在数字字符的范围之 ...
- php 有符号整数,PHP中把有符号整型转换为无符号整型方法
这篇文章主要介绍了PHP中把有符号整型转换为无符号整型方法,转换的方法很简单,本文直接给出转换方法,需要的朋友可以参考下 在一个短地址项目中,根据六位字符与ID的相互映射的算法,当ID超过214748 ...
最新文章
- 驾乘 AI 技术发展浪潮,全球最大中文 IT 社区 CSDN 宣布战略升级为 AI 社区
- 请解释一下TreeMap
- jzoj3501-消息传递【换根法,树形dp】
- 超越BI,数据产品的前途在哪里?
- sip网络电话 用户一直注册超时无法注册成功
- 实验二 语法分析1——递归子程序法
- Kmeans算法实现
- 最方便简单的经纬度查询方法
- 快手调整员工福利,​减少房补,增加生育津贴;百度网盘青春版正式上线,被吐槽;雷军回应小米对标苹果遭冷嘲热讽 | EA周报...
- 2022年上半年软考-嵌入式系统设计师-回忆版
- 下一代 TGW 从13Mpps到50Mpps性能优化之旅
- 钉钉如何调整组织架构_[钉钉组织架构设置]如何设置组织架构 组织架构设置的五个步骤...
- electron之坑addon
- 利用Cloudflare Workers部署臭鼬在线接头霸王项目实例
- 激光雷达和毫米波雷达工作原理对比
- 头部ct能检查出什么_脑部ct能检查出什么
- 韩国李世龙19岁当爹 与洪瑛琦姐弟恋开花结果
- ajax 不能打印出来数据,console打印数据,发现打印结果并非初始ajax返回的值
- 视频博主都在用的 音频素材网,免费还可商用
- Myth源码解析系列之三- 环境搭建