//IP地址点分表示法转换为十进制表示法
public long Dot2LongIP(string dotIP)
{
string[] subIP = dotIP.Split('.');
//IP Address = w.x.y.z
//IP Number = 16777216 * w + 65536 * x + 256 * y + z
long ip = 16777216 * Convert.ToInt64(subIP[0]) + 65536 * Convert.ToInt64(subIP[1]) + 256 * Convert.ToInt64(subIP[2]) + Convert.ToInt64(subIP[3]);
return ip;
}
public string LongIP2Dot(long longIP)
{
//IP Address = w.x.y.z
//IP Number = 16777216 * w + 65536 * x + 256 * y + z
//w = int ( IP Number / 16777216 ) % 256
//x = int ( IP Number / 65536 ) % 256
//y = int ( IP Number / 256 ) % 256
//z = int ( IP Number ) % 256
string dotIP="";
int subIP=0;
long one=longIP/16777216;
subIP = Convert.ToInt32(one.ToString("f0")) % 256 ;
dotIP = subIP.ToString() + "." ;
long two=longIP/65536;
subIP = Convert.ToInt32(two.ToString("f0")) % 256;
dotIP += subIP.ToString() + "." ;
long three=longIP/256;
subIP = Convert.ToInt32(three.ToString("f0")) % 256;
dotIP += subIP.ToString() + "." ;
long four=longIP % 256;
subIP = Convert.ToInt32(four.ToString("f0"));
dotIP += subIP.ToString();
return dotIP;
}

浙公网安备 33010602011771号