首页 > 其他分享 >华为笔试——整数与IP地址间的转换

华为笔试——整数与IP地址间的转换

时间:2024-09-01 20:24:20浏览次数:4  
标签:10 进制 二进制 笔试 华为 num IP地址 输入

描述

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

组合起来即为:00001010 00000000 00000011 11000001,转换为10进制数就是:167773121,即该IP地址转换后的数字就是它了。

数据范围:保证输入的是合法的 IP 序列

输入描述:

输入 
1 输入IP地址
2 输入10进制型的IP地址

输出描述:

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

示例1

输入:

10.0.3.193
167969729

输出:

167773121
10.3.3.193

本题需要注意进制的计算,以及字符串下标的处理。

ipblist=list(map(int,input().split('.')))
intip=int(input())

btoi_iplist=[]
for num in ipblist:
    btoi_iplist.append(bin(num)[2:])

#处理二进制转十进制
intnum=0
for i in range(4):
    index=32-(i+1)*8
    for chnum in btoi_iplist[i][::-1]:
        intnum+=int(chnum)*2**index
        index+=1

print(intnum)


#处理十进制转二进制
itob_num=bin(intip)[2:]
bnum=''
if len(itob_num)<32:
    bnum='0'*(32-len(itob_num))
    bnum+=itob_num
else:
    bnum=itob_num
intlist=[]
intlist.append(str(int(bnum[:8],2)))
intlist.append(str(int(bnum[8:16],2)))
intlist.append(str(int(bnum[16:24],2)))
intlist.append(str(int(bnum[24:],2)))

print(".".join(intlist))

标签:10,进制,二进制,笔试,华为,num,IP地址,输入
From: https://blog.csdn.net/JYXCCC/article/details/141787065

相关文章

  • 招商银行信用卡中心2019秋招IT笔试——比特币最佳买卖时机
    给定一个正整数数组,它的第 i 个元素是比特币第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一次),设计一个算法来计算你所能获取的最大利润。注意你不能在买入比特币前卖出。时间限制:C/C++1秒,其他语言2秒空间限制:C/C++32M,其他语言64M输入描述:正整数数组,为......
  • 华为云征文|Flexus云服务器X,云上性能新飞跃,开启业务增长新纪元
    ......
  • 【华为OD机试真题E卷】31、最大社交距离 | 机试真题+思路参考+代码分析(E卷复用)(C语言、
    文章目录一、题目......
  • 【秋招笔试】8.30饿了么秋招(算法岗)-三语言题解
    ......
  • k8s中pod获取宿主机IP地址
    在Pod内部的Java环境中,你可以通过KubernetesAPI或KubernetesDownwardAPI来获取节点的IP地址。以下是几种方法来实现这一点:个人使用的第一种方法1:使用KubernetesDownwardAPI如果你已经在Pod配置中使用了DownwardAPI,将节点的IP地址注入到环境变量中,你可......
  • 24年九月份中国平安社招入职笔试:平安胜任力测评答题要求【配合题库】
    平安集团的胜任力测评答题要求主要包括以下几点:1.**测评时间**:胜任力测评通常需要在限定时间内完成,例如,有的测评共104题,预计答题时间为25分钟。2.**题型**:胜任力测评的题型通常是多选题,要求从多个选项中选择最符合自己情况的选项。3.**答题规则**:答题过程中,可以选择最符......
  • 笔试题(8)
    一、选择排序算法思想:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。选择排序是不稳定的。算法复杂度O(n2)--[n的平方]voidselect_sort(int*x,intn)......
  • 8.28华为
    第3题-参加博览会不能一个一个遍历会议,因为可能会有其他会议满足要求,所以需要统计当前天数满足要求的会议,从中选择k个#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+5;vector<pair<int,int>>num;intmain(){intn,k;cin>>n>>k;for(i......
  • 华为手机备份
    华为手机助手备份准备通过手机助手备份到电脑时,会调用手机/平板上的备份APP,备份时会在手机上产生临时文件,备份完成后会自动删除,因此需要保证手机剩余内存大于需要备份的数据大小,否则手机可能提示内存不足。建议使用原装数据线,并确保数据线连接稳定,如果数据线与手机/平板或者电......
  • 【Azure Policy】添加策略用于审计Azure 网络安全组(NSG)规则 -- 只能特定的IP地址允
    问题描述对Azure上的虚拟机资源,需要进行安全管理。只有指定的IP地址才能够通过RDP/SSH远程到虚拟机上,有如下几点考虑:1)使用AzurePolicy服务,扫描订阅中全部的网络安全组(NSG:NetworkSecurityGroup)资源2)判断入站规则,判断是否是3389,22端口3)判断源地址是否是被允许的I......