【面试题】将ip地址转换成整数
题目:将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地址转换成整数相关推荐
- 快手,字节面试题,将IP地址转换成整数类型,再转换回来。C++代码
题目描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数. 举例:一个ip地址为10.0.3.193 每段数字 ...
- 【华为OD机试真题 JS】IPv4地址转换成整数
标题:IPv4地址转换成整数 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 存在一种虚拟IPv4地址,由4小节组成,每节的范围为0~255,以#号间隔,虚拟IPv4地址可以转换 ...
- ip地址转换成16进制long
<span style="font-size:18px;">public class IpUtil {/*** ip地址转换成16进制long* @param ipSt ...
- ip地址转换数字函数 iton_字符串IP地址转换成IP数值函数
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_IP2Int]') and xtype in (N'FN ...
- 二进制转换为十进制c语言编程,将二进制IP地址转换成十进制(C语言程序实现)
将二进制IP地址转换成十进制(C语言程序实现) /* * Name: IP Address * Funcion: To convert binary numbers to decimal number ...
- bash 将二进制转换为十进制_PowerShell把IP地址转换成二进制的方法
IPv4地址其实是32位二进制数字,然后我们将它分成四段,每段8位.8位二进制能表达的范围是0~255,所以点分十进制的每一个数字的取值都在0~255之间.有的时候,比如为了换算子网掩码,我们需要将I ...
- leetcode —— 面试题67. 把字符串转换成整数
写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到 ...
- 面试题67. 把字符串转换成整数
题目 写一个函数 StrToInt,实现把字符串转换成整数这个功能.不能使用 atoi 或者其他类似的库函数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们 ...
- ip地址转换成字符串
from://http://hi.baidu.com/hst_jiangbo/item/2a66d8eadeacb3215b2d643a 从网络上接收的ip地址,有时候为了节省空间,用一个32位无符号 ...
最新文章
- mysql的profile_Mysql分析-profile详解
- HTML的标签描述18
- BGP 路由属性 公认必遵 ORIGIN
- HCNA(012-211) 试题解析
- 华为鸿蒙系统有什么特色,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可
!【手机吧】_百度贴吧...
- ezdpl Linux自动化部署实战
- [2021.1.31多校省选模拟12]随机变换的子串(线段树维护分治/字符串/自动机思想)
- 2021牛客暑期多校训练营7 K-xay loves sequence(主席树+二分)
- 嵌入式如何入门,要不要学习Python
- python中多条件语句_Python中的带条件语句
- Jquery框架核心部分例子 .
- linux 系统常用的C语言函数库
- 【路径规划】基于matlab GUI A_star算法最短路径规划【含Matlab源码 633期】
- 简述ip地址的abc类如何划分_IP地址的ABC类划分
- 8uftp,8uftp绿色版软件有哪些功能
- 国产高分系列卫星平台介绍
- 字节跳动后端开发实习生一面凉经
- 8月16最新青龙京东拉库《目前更新的库》
- html5文档类型和字符集,1、新的 HTML5 文档类型和字符集是?
- 威客网站系统开题报告
热门文章
- 第三月模拟题——炉石传说
- 没有学历,别担心,请看高中或中专毕业的程序员应该如何生存!
- 【每日新闻】华米科技收购Zepp与PEI核心资产;西藏宁算科技与阿里云签署框架合作协议...
- 人工智能实验二——prolog语言求解渡河问题(传教士和野人渡河,农夫渡河问题)实现详解
- 搭建私人网盘(可离线下载、在线播放)
- 高级数据库三:浅谈数据库事务(transaction)
- INV TXN MANAGER PUB PROCESS TRANSACTIONS
- 福建厦门:企业征信报告 可多渠道查询
- android 绑定服务 解绑服务,安卓案例:绑定和解绑服务
- 用python的列表构建一棵树