【华为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();
相关推荐
lhbian25 分钟前
AI编程革命:Codex让脚本开发提速10倍
开发语言·汇编·jvm·c#
jiayong2326 分钟前
第 36 课:任务详情抽屉快捷改状态
开发语言·前端·javascript·vue.js·学习
FFF_6345602331 分钟前
通用 vue 页面 js 下载任何文件的方法
开发语言·前端·javascript
阿奇__38 分钟前
uniapp支付宝 H5 开发踩坑,hash模式下取参要规范!
开发语言·uni-app
eggwyw40 分钟前
PHP搭建开发环境(Windows系统)
开发语言·windows·php
一行代码一行诗++1 小时前
C语言中scanf详解
c语言·开发语言
凤山老林1 小时前
26-Java this 关键字
java·开发语言
ZenosDoron1 小时前
keil软件修改字体,Asm editor,和C/C++ editor的区别
c语言·开发语言·c++
山栀shanzhi1 小时前
C/C++之:构造函数为什么不能设置为虚函数?
开发语言·c++·面试
lsx2024061 小时前
.toggleClass() 方法详解
开发语言