题目描述

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

的每段可以看成是一个0-255的整数,需要对IP地址进行校验

输入描述:

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

输出描述:

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

示例1

输入

复制

10.0.3.193
167969729

输出

复制

167773121
10.3.3.193

代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main {
 
    public static void main(String[] args) throws IOException {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String line1 = null;   
            String line2 = null; 
            while ((line1 = br.readLine()) != null && (line2 = br.readLine()) != null) {
                String[] IP1 = line1.split("\\.");
                long IP2 = Long.parseLong(line2);
                 
                System.out.println(Long.parseLong(IP1[0]) << 24 | Long.parseLong(IP1[1]) << 16 |
                        Long.parseLong(IP1[2]) << 8 | Long.parseLong(IP1[3]));
                 
                StringBuilder sb = new StringBuilder();
                sb.append(String.valueOf((IP2 >> 24) & 255)).append(".").append(String.valueOf((IP2 >> 16) & 255))
                .append(".").append(String.valueOf((IP2 >> 8) & 255)).append(".").append(String.valueOf(IP2 & 255));
                System.out.println(sb.toString());
                                                         
        }
 
}
}

牛客网--整数与IP地址间的转换相关推荐

  1. C练题笔记之:牛客-HJ033.整数与IP地址间的转换

    题目: 描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数. 举例:一个ip地址为10.0.3.193 每段数字     ...

  2. 华为机考攻略(python)--字符串操作【9题】(第四题*HJ33整数与IP地址间的转换)

    系列文章目录 文章目录 系列文章目录 前言 一.*HJ33整数与IP地址间的转换 二.sound code 总结 前言 一.*HJ33整数与IP地址间的转换 描述: 原理:ip地址的每段可以看成是一个 ...

  3. 华为OJ——整数与IP地址间的转换

    题目描述 原理: ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数. 举例: 一个ip地址为10.0.3.193 每段数字 相对应的 ...

  4. 华为机试HJ33:整数与IP地址间的转换

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起 ...

  5. 整数与IP地址间的转换Python

    data = input().split(".") #IP地址转整数 a = [] b = '' caozuo = [a.append(bin(int(i))[2:].rjust( ...

  6. 牛客题霸 [ 验证IP地址] C++题解/答案

    牛客题霸 [ 验证IP地址] C++题解/答案 题目描述 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址 IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围 ...

  7. 牛客网刷题—— 计算日期到天数转换

    目录 一.描述 输入描述: 输出描述: 二.思路: 三.代码实现 点击下方链接开始做本题: 开始做题 一.描述 根据输入的日期,计算是这一年的第几天. 保证年份为4位数且日期合法. 进阶:时间复杂度: ...

  8. 华为机试在线训练--牛客网(python)第四部分

    华为机试在线训练–牛客网(python) 第四部分(31~40) 第三十一题:[中级]单词倒排 题目描述 对字符串中的所有单词进行倒排. 说明: 1.每个单词是以26个大写或小写英文字母构成: 2.非 ...

  9. 「解析」牛客网-华为机考企业真题 21-40

    又是一年春招时,有幸收到华为自动驾驶算法岗,之前刷题不多,在此汇总下牛客网的真题,主要采用Python编写,个人觉得语言只是实现工具而已,并不是很关键,Python简洁易懂,更加适合算法工程师快速验证 ...

最新文章

  1. seaborn系列 (14) | 条形图barplot()
  2. oracle数据同步实例
  3. 还在埋头写论文?知网检索的这些小技巧让你有如神助!
  4. weblogic服务器启动报错
  5. python svg转png_Python实现批量把SVG格式转成png、pdf格式的代码分
  6. Java压缩技术(二) ZIP压缩——Java原生实现
  7. DataGridView中的CheckBox
  8. mysql聚合索引创建_为 MySQL 查询优化选择最佳索引
  9. ssh框架http后台乱码问题
  10. 笨办法学 Python · 续 第一部分:预备知识
  11. 杭电1028Ignatius and the Princess III
  12. asBroadcastStream
  13. ADS系列之SIPI仿真笔记:ADS多种版本的安装、卸载重装(一)
  14. 四川信息职业技术学院计算机多媒体技术,成都市计算机多媒体技术最好学校在哪...
  15. 1817735-45-7,Carboxy-PEG2-sulfonic acid在EDC和HATU等活化剂存在下,末端羧酸可参与与伯胺的反应
  16. reactos回顾总结(一)reactos源码编译
  17. Vue前端实现微信扫码登录
  18. 一起学Python吧~re正则+MySQL
  19. 开心移动企业管理平台SaaS OA
  20. 任正非的《北国之春》(zz.is2120)

热门文章

  1. LeetCode 1450. 在既定时间做作业的学生人数
  2. LeetCode 869. 重新排序得到 2 的幂(排序 全排列)
  3. 【机器学习】分类算法sklearn-朴素贝叶斯算法
  4. vue warning如何去掉_详解 vue 组件三大核心概念
  5. python list存储对象_《python解释器源码剖析》第4章--python中的list对象
  6. 什么是document对象?如何获取文档对象上的元素?_dom对象
  7. websocket 带头部信息请求 header_关于websocket跨域的一个奇怪问题
  8. NeurIPS'20 | 通过文本压缩,让BERT支持长文本
  9. 连载 | 知识图谱发展报告 2018 -- 前言
  10. KnowledgeGraph Slides项目(CCKS系列报告2013-2018)