16777216x-65536y-256z-a=974180435??中XYZA的值分别怎么求?

来源:百度知道 编辑:UC知道 时间:2024/06/15 20:03:27
这个值的公式是:inIPnum = 256*256*256*inips(0) + 256*256*inips(1) + 256*inips(2) + inips(3)

现在我要把这个值反求回来该怎么求的??急啊。。。
举例:这段IP:58.16.208.83
是用那公式来求出974180435这个值的。
我现在要怎么知道这组数里面就是这段IP呢?

int intIP = Convert.ToInt32(974180435);
int tempIP = intIP + 1;
int p1 = tempIP / 256 / 256 / 256;
int s21 = p1 * 256 * 256 * 256;
int p2 = (tempIP - s21) / 256 / 256;
int s31 = p2 * 256 * 256 + s21;
int p3 = (tempIP - s31) / 256;
int p4 = tempIP - p3 * 256 - s31;

if (p1 < 0)
{
p1 = 255 + p1;
p2 = 255 + p2;
p3 = 255 + p3;
p4 = 255 + p4;
}
string IP = p1.ToString() + "." + p2.ToString() + "." + p3.ToString() + "." + p4.ToString();
Response.Write(IP);

解析974180435 得到的iP是:58.16.208.84