题目:将ip地址转换成整数

开始用了最粗暴的方法,将四段分别转换成二进制连接起来,然后扫描一遍,累加求和。效率太低。

假设ip地址:110.111.112.113,即为A.B.C.D,转换成整数只需要将D左移0位(不需要移动),C左移8位,B左移16位,A左移24位即可。

public class IP2Integer {public static void main(String[] args) {String ip = "110.111.112.113";String[] s = ip.split("\\.");System.out.println(Arrays.toString(s));long ipl = (Long.parseLong(s[0])<<24)+(Long.parseLong(s[1])<<16)+(Long.parseLong(s[2])<<8)+(Long.parseLong(s[3]));System.out.println(ipl);}
}

输出:1852797041

如果要将整数转换成ip地址,该怎么操作呢?

对于整数X=1852797041,其对应的二进制可以记为ABCD,每个字母表示8位,只需将X右移24位即可得到A,然后将X中的A部分置为0,右移16位即可得到B,同理得到C和D,用“.”连接起来即可。

public class Integer2Ip {public static void main(String[] args) {long ipl =1852797041l;long A = ipl>>24;long B = (ipl&0x00FFFFFF)>>16;long C = (ipl&0x0000FFFF)>>8;long D = ipl&0x000000FF;String ip = new StringBuffer().append(A).append(".").append(B).append(".").append(C).append(".").append(D).toString();System.out.println(ip);}
}

结果:110.111.112.113

【面试题】将ip地址转换成整数相关推荐

  1. 快手,字节面试题,将IP地址转换成整数类型,再转换回来。C++代码

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

  2. 【华为OD机试真题 JS】IPv4地址转换成整数

    标题:IPv4地址转换成整数 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 存在一种虚拟IPv4地址,由4小节组成,每节的范围为0~255,以#号间隔,虚拟IPv4地址可以转换 ...

  3. ip地址转换成16进制long

    <span style="font-size:18px;">public class IpUtil {/*** ip地址转换成16进制long* @param ipSt ...

  4. ip地址转换数字函数 iton_字符串IP地址转换成IP数值函数

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_IP2Int]') and xtype in (N'FN ...

  5. 二进制转换为十进制c语言编程,将二进制IP地址转换成十进制(C语言程序实现)

    将二进制IP地址转换成十进制(C语言程序实现) /* * Name: IP Address * Funcion: To convert binary numbers to decimal number ...

  6. bash 将二进制转换为十进制_PowerShell把IP地址转换成二进制的方法

    IPv4地址其实是32位二进制数字,然后我们将它分成四段,每段8位.8位二进制能表达的范围是0~255,所以点分十进制的每一个数字的取值都在0~255之间.有的时候,比如为了换算子网掩码,我们需要将I ...

  7. leetcode —— 面试题67. 把字符串转换成整数

    写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到 ...

  8. 面试题67. 把字符串转换成整数

    题目 写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们 ...

  9. ip地址转换成字符串

    from://http://hi.baidu.com/hst_jiangbo/item/2a66d8eadeacb3215b2d643a 从网络上接收的ip地址,有时候为了节省空间,用一个32位无符号 ...

最新文章

  1. mysql的profile_Mysql分析-profile详解
  2. HTML的标签描述18
  3. BGP 路由属性 公认必遵 ORIGIN
  4. HCNA(012-211) 试题解析
  5. 华为鸿蒙系统有什么特色,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...
  6. ezdpl Linux自动化部署实战
  7. [2021.1.31多校省选模拟12]随机变换的子串(线段树维护分治/字符串/自动机思想)
  8. 2021牛客暑期多校训练营7 K-xay loves sequence(主席树+二分)
  9. 嵌入式如何入门,要不要学习Python
  10. python中多条件语句_Python中的带条件语句
  11. Jquery框架核心部分例子 .
  12. linux 系统常用的C语言函数库
  13. 【路径规划】基于matlab GUI A_star算法最短路径规划【含Matlab源码 633期】
  14. 简述ip地址的abc类如何划分_IP地址的ABC类划分
  15. 8uftp,8uftp绿色版软件有哪些功能
  16. 国产高分系列卫星平台介绍
  17. 字节跳动后端开发实习生一面凉经
  18. 8月16最新青龙京东拉库《目前更新的库》
  19. html5文档类型和字符集,1、新的 HTML5 文档类型和字符集是?
  20. 威客网站系统开题报告

热门文章

  1. 第三月模拟题——炉石传说
  2. 没有学历,别担心,请看高中或中专毕业的程序员应该如何生存!
  3. 【每日新闻】华米科技收购Zepp与PEI核心资产;西藏宁算科技与阿里云签署框架合作协议...
  4. 人工智能实验二——prolog语言求解渡河问题(传教士和野人渡河,农夫渡河问题)实现详解
  5. 搭建私人网盘(可离线下载、在线播放)
  6. 高级数据库三:浅谈数据库事务(transaction)
  7. INV TXN MANAGER PUB PROCESS TRANSACTIONS
  8. 福建厦门:企业征信报告 可多渠道查询
  9. android 绑定服务 解绑服务,安卓案例:绑定和解绑服务
  10. 用python的列表构建一棵树