题目
1、题目
01---IPv4地址转换成整数
2、解图思路
1、IP地址转为二进制
2、二进制转十进制
3、注意事项
1、IP地址的范围判断
2、空字符串判断
3、非法字符判断
4、考点
1、string的split 、convert等相关用法
2、正则表达式
3、进制转换
4、理解32位整数的意思
5、代码
判断代码我没有写,感觉直接对输入的字符串去挨个做判断就行了
string
string[] ipv4Node = Ipv4.Split('#');
string str = null;
//挨个判断可能情况
if (Ipv4.Length < 7 || Ipv4.Length > 15)
{
Console.WriteLine("invalid IP");
return;
}
else if (string.IsNullOrWhiteSpace(Ipv4))
{
Console.WriteLine("invalid IP");
return;
}
for (int i = 0; i < ipv4Node.Length; i++)
{
//将IP地址转为二进制
str+= Convert.ToString(Convert.ToInt16( ipv4Node[i]?.ToString(), 16), 2).PadLeft(8, '0');
}
//二进制转十进制
var res=Convert.ToInt32(str,2);
Console.WriteLine( res );
Console.ReadKey();