【华为c# OD机考参考答案】01---IPv4地址转换成整数

题目

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();
相关推荐
点心的游戏开发世界2 小时前
Unity C# 脚本学习笔记:命名空间与 using
学习·unity·c#
2601_962071573 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
淡海水4 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
点心的游戏开发世界4 小时前
Unity C# 脚本学习笔记:泛型
学习·unity·c#
CS_Zero5 小时前
C语言sizeof是函数吗?
c语言·开发语言
-今昭-6 小时前
《V2V 迁移实战:将 VMware 虚拟机转为 OpenStack 可用 Glance qcow2 镜像》
开发语言·python
黑马程序员毕设7 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
_Twink1e8 小时前
openJiuwen 实训营 Day 1 · WorkSwarm 入门教程
开发语言·c++·openjiuwen
公子小六8 小时前
基于.NET的Windows窗体编程之WinForms滑块与上下控件
windows·microsoft·c#·.net·winforms
问天_观心8 小时前
大模型微调学习(一)
开发语言·人工智能·学习·语言模型·github