IP存储在数据库中,可以将其另存为无符号格式,以减少空间。 长度正好足够。 转换关系如下
这里使用Linq公式
//ip转换为整数后,示例结果为771452401var ip='45.251.109.241 '; return ip .Split ('.' ).select ) ) x,I )=int.Parse(x ) x )8*(3-I ).Sum ); 基本想法排在第1位45*(2^8) 3251 * (2^8) 2109*2^8241
这可以认为是256进制数字转移到10进制
//整数型ip,样本结果为45.251.109.241var ii=771452401; var ip=' '; foreach(intIinnewint[4] ) ip=(ii%6).ToString ) )、'.' IP; ii=ii 8; }return ip.Trim ('.'; 这里相当于上面的逆运算
这里乘以2的8次方,使用比特运算向左移动8比特,扩展知识,计算速度也有一定程度的提高
2的8次方,位运算,向右移位