当前位置: 首页 > news >正文

【华为OD机试】1029 - 整数与IP地址间的转换

文章目录

    • 一、题目
      • 🔸题目描述
      • 🔸输入输出
      • 🔸样例1
    • 二、代码参考
  • 作者:KJ.JK


🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈
 
🍂个人博客首页: KJ.JK
 
💖系列专栏:华为OD机试(Java&Python&C语言)

一、题目


🔸题目描述

原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成
一个长整数。
举例:
一个ip地址为10.0.3.193
每段数字 相对应的二进制数
10 00001010
0 00000000
3 00000011
193 11000001
组合起来即为:00001010 00000000 00000011 11000001,转换为10进制数就是:167773121,即该IP地址转换后的数字就是它了。


🔸输入输出

输入
1 输入IP地址
2 输入10进制型的IP地址
 
输出
1 输出转换成10进制的IP地址
2 输出转换后的IP地址


🔸样例1

输入
10.0.3.193
167969729输出
167773121
10.3.3.193

二、代码参考

/*在问题中有两个转换过程,一个是将ip地址转换为长整数,一个是将长整数转换为ip地址,通过题目中的转换过程进行转换。 
对于ip地址转换成长整数: 
1、将ip地址切割成四段数字 
2、每段数字用8位2二进制数字表示 
3、将四段二进制数字组合 
4、将二进制数字转换成长整数 对于长整数转换成ip地址则步骤相反:1、将长整数转换成32位二进制数字 2、将32位二进制数字进行切割 3、将每段的二进制数字转换为十进制数字 4、形成ip地址*/import java.util.Scanner;public class Main {public static void main(String[] args){Scanner sc = new Scanner(System.in);while(sc.hasNext()){String s = sc.next();if(s.contains(".")){System.out.println(ip2num(s));}else{System.out.println(num2ip(Long.parseLong(s)));}}}public static long ip2num(String ip){String[] iip = ip.split("\\.");StringBuilder sb = new StringBuilder();for(int i=0; i<4; i++){int num = Integer.parseInt(iip[i]);  // 拆分String num2 = Integer.toBinaryString(num);  //转换为二进制while(num2.length()<8){num2 = "0" + num2;  // 拼接}sb.append(num2);}return Long.parseLong(sb.toString(), 2);  // 转化为10进制}public static String num2ip(long num){String num2 = Long.toBinaryString(num);  //转换为2进制while(num2.length()<32){num2 = "0" + num2;}String[] ans = new String[4];for(int i=0; i<4; i++){String s = num2.substring(8*i, 8*i+8);  //拆分s = Integer.toString(Integer.parseInt(s, 2));  //转化为10进制ans[i] = s;}return String.join(".", ans);  //拼接}
}--------------------------------------------------------def transfer_ip2num(ip):ip_list = ip.split('.')bin_str = ''for x in ip_list:bin_str += bin(int(x))[2:].rjust(8,'0')return int('0b'+ bin_str, 2)def transfer_num2ip(num):result = ''bin_str = bin(int(num))[2:].rjust(32,'0')for idx in range(4):result = result + str(int('0b' + bin_str[idx*8:idx*8+8], 2)) + '.'return result[:-1]if __name__ == '__main__':while True:try:print(transfer_ip2num(input()))print(transfer_num2ip(input()))except EOFError: break--------------------------------------------------------------#include <stdio.h>
int main(void)
{int a,b,c,d;long n1,n2;while(scanf("%d.%d.%d.%d",&a,&b,&c,&d) != EOF){scanf("%u",&n1);n2 = (a<<24)+(b<<16)+(c<<8)+d;printf("%u\n",n2);a=(n1>>24);b=(n1>>16)&255;c=(n1>>8)&255;d=n1&255;printf("%d.%d.%d.%d\n",a,b,c,d);}
}

请添加图片描述


作者:KJ.JK

文章对你有所帮助的话,欢迎给个赞或者 star,你的支持是对作者最大的鼓励,不足之处可以在评论区多多指正,交流学习

相关文章:

【华为OD机试】1029 - 整数与IP地址间的转换

文章目录一、题目&#x1f538;题目描述&#x1f538;输入输出&#x1f538;样例1二、代码参考作者&#xff1a;KJ.JK&#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x…...

【FPGA实验1】FPGA点灯工程师养成记

对于FPGA几个与LED相关的实验&#xff08;包括按键点灯、流水灯、呼吸灯等&#xff09;的记录&#xff0c;方便日后查看。这世界上就又多了一个FPGA点灯工程师了&#x1f60f; 成为一个FPGA点灯工程师分三步&#xff1a;一、按键点灯1、按键点灯程序2、硬件实现二、流水灯1、流…...

操作系统论文导读(三):Stack-based scheduling of realtime processes基于堆栈的实时进程调度

目录 一、论文核心思想&#xff1a; 二、基本的相关条件 作业运行的条件&#xff1a; 作业抢占其他作业的条件&#xff1a; 三、基本的相关定义 四、基本的相关调度 五、基本的相关调度 六、堆栈资源共享 七、与PCP的比较 一、论文核心思想&#xff1a; -引入了一个抢占优…...

音频延时测试方法与实现

音频延时测试方法有以下几种 1、使用专业的测试设备&#xff0c;通过专业的音频测试仪器可以准确测量音频延时&#xff0c;如常见声学分析仪、信号发生器、声卡Smaart&#xff08;介绍测试延时方法链接&#xff1a;https://blog.csdn.net/weixin_48408892/article/details/1273…...

在 Python 中管理机密的四种方法

我们生活在一个应用程序用于做任何事情的世界&#xff0c;无论是股票交易还是预订沙龙&#xff0c;但在幕后&#xff0c;连接是使用秘密完成的。必须适当管理机密&#xff0c;例如数据库密码、API 密钥、令牌等&#xff0c;以避免任何泄露。 管理机密的需求对任何组织都至关重…...

全国青少年信息素养大赛Python编程挑战赛初赛试题说明

Python 编程挑战赛初赛采用线上考试比赛形式,分为小学组和初中组。不同组别的考核重难点略有不同,考核内容主要是 Python 基础知识,共 30 题,均为单选题,具体考核如下: 小学组考核内容主要是 Python 基础知识,包括输入输出,变量,条件结构,计次循环和无限循环,海龟库…...

无需魔法打开即用的 AI 工具集锦

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;蚂蚁集团高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《EffectiveJava》独家解析》专栏作者。 热门文章推荐…...

如何进行SEO站内优化,让你的网站更易被搜索引擎收录

我们了解了 SEO 的流程&#xff0c;知道了哪些元素对 SEO 的效果会产生关键影响&#xff0c;接下来&#xff0c;我们就该正式开始动手&#xff0c;打造一个让搜索引擎“爱不释手”的网站。 为了方便理解与记忆&#xff0c;我们将网站划分为几个模块&#xff0c;告诉你优化网站…...

组件内部watch后切换数据报错Error in callback for watcher “xxxx“

报错信息&#xff1a; 报错代码&#xff1a; 百度了一下是因为这里写了箭头函数&#xff0c;导致this指向为父级作用域上下文&#xff0c;不是vue实例导致 修改为&#xff1a; progressData: {handler: function(newValue, oldValue) {this.setChartData(newValue)},deep: …...

VMware ESXi 7.0 U3l macOS Unlocker OEM BIOS (标准版和厂商定制版)

VMware ESXi 7.0 U3l macOS Unlocker & OEM BIOS (标准版和厂商定制版) 提供标准版和 Dell (戴尔)、HPE (慧与)、Lenovo (联想)、Inspur (浪潮)、Cisco (思科) 定制版镜像 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-7-u3-oem/&#xff0c;查看最新版…...

华为阿里版ChatGPT横空出世,谁的成效更好呢?

“你训练的大模型涌现了吗&#xff1f;”“还没有。好难受。”一时间成为了最近AI赛道玩家的一个爆热梗。 不管承不承认&#xff0c;相信每个玩家都不愿意输掉这场激烈的竞争。自百度成为国内“第一个吃螃蟹的人”后&#xff0c;又有两大中国科技巨头做好了准备——华为和阿里…...

【云原生之Docker实战】使用docker部署kooteam在线团队协作工具

【云原生之Docker实战】使用docker部署kooteam在线团队协作工具 一、kooteam介绍1.kooteam介绍2.kooteam的技术选型二、检查本地docker环境1.检查Docker版本2.检查Docker状态三、下载kooteam镜像四、部署kooteam文档管理系统1.创建安装目录2.创建mysql数据库3.新建kooteam数据库…...

ITSS认证是什么认证,itss资质认证

一、ITSS是什么 ITSS根据英文翻译信息技术服务标准&#xff08;InformationTechnologyServiceStandards&#xff0c;简称ITSS&#xff09;&#xff0c;它既是一套成体系和综合配套的标准库&#xff0c;又是一套选择和提供IT服务的方法学&#xff0c;对企业IT服务而言&#xff0…...

FTP-----局域网内部远程桌面

此文包含详细的图文教程。有疑问评论区留言。博主第一时间解决。 目录 一、被远程桌面的电脑 1.开启远程权限 2.添加账户&#xff0c;有本地账户跳过这步 3.帐号隶属于 远程桌面 4.帐号隶属于 本地用户组 二、本地电脑连接远程桌面 前提条件&#xff1a; 1.两台电脑在…...

Learning C++ No.18【STL No.8】

引言&#xff1a; 北京时间&#xff1a;2023/3/18/21:47&#xff0c;周末&#xff0c;不摆烂&#xff0c;但是欠钱终于还是遭报应了&#xff0c;导致坐牢7小时&#xff08;上午3.5&#xff0c;下午3.5&#xff09;&#xff0c;难受&#xff0c;充分意识到行哥是那么的和蔼可亲…...

pytorch搭建ResNet50实现鸟类识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客 &#x1f366; 参考文章地址&#xff1a; 365天深度学习训练营-第J1周&#xff1a;ResNet-50算法实战与解析 &#x1f356; 作者&#xff1a;K同学啊 理论知识储备 深度残差网络ResNet&#xff08;dee…...

Node.js -- npm与包

1.包 Node.js中的第三方模块又叫做包 就像电脑和计算机指的是相同的东西&#xff0c;第三方模块和包指的是同一概念&#xff0c;只不过叫法不同。 包的来源&#xff1a; 包是由第三方或者个人团队开发出来的&#xff0c;免费供个人使用。 国外有一家IT 公司&#xff0c;叫做n…...

二 、Locust自定义用户(场景)

二 、自定义用户&#xff08;场景&#xff09; 一个用户类代表了你系统中的一种用户/场景。当你做一个测试运行时&#xff0c;你指定你想模拟的并发用户的数量&#xff0c;Locust将为每个用户创建一个实例。你可以给这些类/实例添加任何你喜欢的属性&#xff0c;但有一些属性对…...

1~3年的测试工程师薪资陷入了瓶颈期,如何突破自己实现涨薪?

对于技术人员而言&#xff0c;职业规划一般分为两个方向&#xff1a;做技术、做管理。进入软件测试行业的新人都会从最基础的执行开始&#xff0c;然后是基本的功能测试。 随后大家会根据个人职业发展来进一步细化&#xff0c;有的走管理路线&#xff0c;成为主管、经理、项目…...

springboot项目前端ajax 07进阶优化,使用jQuery的ajax

使用官网https://jquery.com/ 在下载那里&#xff0c;选择Download the compressed, production jQuery 3.6.4&#xff08;版本不一样&#xff09;&#xff0c;而后在打开的网页中&#xff0c;选择另存为&#xff0c;就下载好了js文件。 > function doAjax(){ …...

东数西存场景的探索与实践

“东数西算”是通过构建数据中心、云计算、大数据一体化的新型算力网络体系&#xff0c;将东部算力需求有序引导到西部&#xff0c;对优化数据中心建设布局&#xff0c;提升国家整体算力水平&#xff0c;促进绿色发展&#xff0c;扩大有效投资&#xff0c;具有重要意义。 在实…...

[图神经网络]PyTorch简单实现一个GCN

Pytorch自带一个PyG的图神经网络库&#xff0c;和构建卷积神经网络类似。不同于卷积神经网络仅需重构__init__( )和forward( )两个函数&#xff0c;PyTorch必须额外重构propagate( )和message( )函数。 一、环境构建 ①安装torch_geometric包。 pip install torch_geometric …...

Elasticsearch(黑马)

初识elasticsearch ​​. 安装elasticsearch 1.部署单点es 1.1.创建网络 因为我们还需要部署kibana容器&#xff0c;因此需要让es和kibana容器互联。这里先创建一个网络&#xff1a; docker network create es-net 1.2.加载镜像 这里我们采用elasticsearch的7.12.1版本的…...

oracle数据库调整字段类型

oracle数据库更改字段类型比较墨迹&#xff0c;因为如果该字段有值&#xff0c;是不允许直接更改字段类型的。另外oralce不支持在指定的某个字段后面新增一个字段&#xff0c;但是mysql数据可以向指定的字段后面新增一个字段。 mysql向指定字段后面新增一个字段&#xff1a; al…...

面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码)

面部表情识别2&#xff1a;Pytorch实现表情识别(含表情识别数据集和训练代码) 目录 面部表情识别2&#xff1a;Pytorch实现表情识别(含表情识别数据集和训练代码) 1.面部表情识别方法 2.面部表情识别数据集 &#xff08;1&#xff09;表情识别数据集说明 &#xff08;2&…...

赛效:如何在线给图片加水印

学会给图片加水印是一个非常实用的技能&#xff0c;可以让你的图片更具保护性和个性化。说到加水印&#xff0c;很多人不知道怎么操作。其实&#xff0c;给图片加水印非常简单&#xff0c;不用下载任何程序&#xff0c;在线就能完成。今天&#xff0c;我将介绍如何使用改图宝在…...

动力节点杜老师Vue笔记——Vue程序初体验

一、Vue程序初体验 我们可以先不去了解Vue框架的发展历史、Vue框架有什么特点、Vue是谁开发的&#xff0c;这些对我们编写Vue程序起不到太大的作用&#xff0c;更何况现在说了一些特点之后&#xff0c;我们也没有办法彻底理解它&#xff0c;因此我们可以先学会用&#xff0c;使…...

ajax上传图片存入到指定的文件夹并回显

html代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><script src"js/jquery-2.1.0.js"></script> </head> <body> <form…...

cesium加载cesiumlab切的影像切片和标准TMS瓦片的区别

1.加载cesiumlab切的影像 var labImg viewer.scene.imageryLayers.addImageryProvider( new Cesium.UrlTemplateImageryProvider({url:http://192.168.1.25:8080/DOMtms/{z}/{x}/{y}.png,fileExtension : "png"})); 2.标准TMS瓦片 var labImg viewer.scene.im…...

第二周P9-P22

文章目录第三章 系统总线3.1、总线的基本概念一、为什么要用总线二、什么是总线三、总线上信息的传送四、总线结构的计算机举例1、单总线结构框图2、面向CPU的双总线结构框图3、以存储器为中心的双总线结构图3.2、总线的分类1、片内总线2、系统总线3、通信走线3.3、总线特性及性…...

供应链管理五大内容/杭州网站seo

对用户发送的信息加密是否会成为大势所趋&#xff1f;进行信息加密是隐私强调者和阴谋论者一直以来的主张。 雅虎公司(Yahoo! Inc., YHOO)周四表示&#xff0c;将加入竞争对手谷歌(Google Inc., GOOG)的行列明年打造出一个安全邮件系统&#xff0c;有了这个安全邮件系统&#x…...

在网上做试卷的网站/服务营销的七个要素

最初接触 speed grade 这个概念时&#xff0c;很是为 Altera 的 -6 、 -7 、 -8 速度等级逆向 排序的方法困惑过一段时间。 不很严密地说&#xff0c; “序号越低&#xff0c; 速度等级越高”这是 Altera FPGA 的排序方法 &#xff0c;“序号越高&#xff0c;速度等级也越高”…...

服务好的南昌网站建设/如何在百度上发广告

简介 多数情况下使用组可以很容易地操纵和管理大量网格。但是当对象的数量非常多时&#xff0c;性能就会成为一个瓶颈。使用组&#xff0c;每个对象还是独立的&#xff0c;仍然需要对它们分别进行处理和渲染。通过THREE.Geometry.merge()函数&#xff0c;你可以将多个几何体合…...

做谷歌网站使用什么统计代码/网站推广公司大家好

导读&#xff1a;本文主要介绍 CentOS 系统二进制安装 MySQL 5.7.23 版本的安装步骤&#xff0c;其他版本安装过程相似。1.前置准备卸载旧版MySQL查看rpm包rpm -qa|grep mysql 若有可用rpm -e卸载查找mysql残留包&#xff0c;有则删除&#xff0c;没有则忽略find / -name mysql…...

用vs与dw做网站/自媒体培训学校

内容介绍&#xff0c;为什么要使用前端路由&#xff1f; 在2005左右&#xff0c;兴起了一种叫做ajax的技术&#xff0c;有了ajax之后&#xff0c;我们向服务端提交数据的时候就不再需要使用from表单去提交了&#xff0c;因为from表单之间的提交会导致页面之间的切换&#xff0c…...

广州云脑网站建设/媒体吧软文平台

效果&#xff1a; 代码&#xff1a; 第一步&#xff1a;页面底部放两个浮动层&#xff0c;让指向图标不透明&#xff1a; <div class"share" style"display:none;filter:alpha(Opacity30);-moz-opacity:0.9;opacity: 0.5;width:100%;height:90%; background:…...