C# 如何显示IP地址的整数值
我正在查看System.Net命名空间,它有一个可以使用的IPAddress实例。这有一个解析方法,您可以使用该方法将字符串解析为IPInstance,然后使用Address属性为您提供long值 然而 返回的数字不是真正的转换 e、 g.对于IP 58.0.0.0,System.Net命名空间给我的值是58。。。 实际上,整数值应该是973078528 有人能告诉我正确的代码吗 公式应该是。。(适用于ip 192.1.20.10) 192*(256*256*256)+1*(256*256)+20*(256)+10 此公式正确的原因是它返回的数字可以在>=和中使用,请参见 选择的答案中列出了示例代码 e;f、 b 选择的答案中列出了示例代码C# 如何显示IP地址的整数值,c#,vb.net,ip-address,C#,Vb.net,Ip Address,我正在查看System.Net命名空间,它有一个可以使用的IPAddress实例。这有一个解析方法,您可以使用该方法将字符串解析为IPInstance,然后使用Address属性为您提供long值 然而 返回的数字不是真正的转换 e、 g.对于IP 58.0.0.0,System.Net命名空间给我的值是58。。。 实际上,整数值应该是973078528 有人能告诉我正确的代码吗 公式应该是。。(适用于ip 192.1.20.10) 192*(256*256*256)+1*(256*256)+2
e;f、 b您看到的似乎是一个endian问题 作为一般函数,如果您的IP地址是
a.B.C.D
,则您所追求的值是:
A << 24 + (= A * 16777216)
B << 16 + (= B * 65536)
C << 8 + (= C * 256)
D
A您看到的似乎是endian问题
作为一般函数,如果您的IP地址是a.B.C.D
,则您所追求的值是:
A << 24 + (= A * 16777216)
B << 16 + (= B * 65536)
C << 8 + (= C * 256)
D
A这可能行得通,我们会试试看
public double IPAddressToNumber(string IPaddress)
{
int i;
string [] arrDec;
double num = 0;
if (IPaddress == "")
{
return 0;
}
else
{
arrDec = IPaddress.Split('.');
for(i = arrDec.Length - 1; i >= 0 ; i = i -1)
{
num += ((int.Parse(arrDec[i])%256) * Math.Pow(256 ,(3 - i )));
}
return num;
}
}
这可能管用,我会试试看
public double IPAddressToNumber(string IPaddress)
{
int i;
string [] arrDec;
double num = 0;
if (IPaddress == "")
{
return 0;
}
else
{
arrDec = IPaddress.Split('.');
for(i = arrDec.Length - 1; i >= 0 ; i = i -1)
{
num += ((int.Parse(arrDec[i])%256) * Math.Pow(256 ,(3 - i )));
}
return num;
}
}
这个问题需要一个C#解决方案。这个问题是针对.Net的。我不明白你所说的“BitConverter.ToInt32(System.Net.IPAddress.Parse(address).GetAddressBytes(),0);”是一个.Net解决方案。这个问题和公认的答案对我的问题不正确。这个问题要求C解决方案。这个问题是针对.Net的。我不明白你所说的“BitConverter.ToInt32(System.Net.IPAddress.Parse(address).GetAddressBytes(),0);”是一个.Net解决方案。这个问题和公认的答案对我的问题不正确。重复。上一个问题提供的答案满足了问题,我的问题略有不同,而另一个问题提供的答案对我来说不正确。重复。上一个问题提供的答案满足了这个问题,我的问题略有不同,而另一个问题提供的答案对我来说不正确。您的代码应该返回long或Int64而不是double。在循环中,只需将上一次迭代的值乘以256,然后添加下一个八位字节。保存所有对Math.pow的调用!代码应该返回long或Int64而不是double。在循环中,只需将上一次迭代的值乘以256,然后再加上下一个八位字节。保存所有对Math.pow的调用!