【华为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();
相关推荐
Blossom.11824 分钟前
使用Python和TensorFlow实现图像分类的人工智能应用
开发语言·人工智能·python·深度学习·安全·机器学习·tensorflow
bicijinlian30 分钟前
C#黑魔法:鸭子类型(Duck Typing)
c#·鸭子类型·duck typing
CodeWithMe1 小时前
【C/C++】C++中noexcept的妙用与性能提升
c语言·开发语言·c++
非著名架构师1 小时前
C++跨平台开发实践:深入解析与常见问题处理指南
开发语言·c++
越来越无动于衷1 小时前
JAVA多态——向上转型
java·开发语言
鱼嘻1 小时前
线程邮箱框架与示例
linux·c语言·开发语言·算法·php
cooldream20092 小时前
有状态服务、无状态服务与Session机制详解
java·开发语言·系统架构师
Q_Q19632884752 小时前
python小区物业管理系统-小区物业报修系统
开发语言·spring boot·python·django·flask·node.js·php
一只蒟蒻ovo2 小时前
操作系统导论——第27章 插叙:线程API
java·开发语言
斯普润布特2 小时前
Java-很深我只知其一构造(Builder)
java·开发语言