object Test01_IP地址计算 {def main(args: Array[String]): Unit = {val ip:String = "1.0.3.255"val ipArr: Array[Int] = ip.split("\\.").map(_.toInt)println((ipArr(0) << 24) + (ipArr(1) << 16) + (ipArr(2) << 8) + ipArr(3))}}

将字符串类型的IP地址,按照"\\."进行切割

将切割的字符串数组使用map遍历将每个元素转换为整数类型

再使用位运算符计算结果

第一位左移24位

第二位左移16位

第三位左移8位

第四位左移0位

1.0.3 .255------二进制为----00000001.00000000.00000011.11111111

第二种方法

将ip地址分为4段

从左往右依次读取

例如1.0.3 .255,就是1、0、3、255

将每一位转换成Long类型再和(之前计算得到的并向左移动了8位)的数据用位运算符“|”计算

刚开始ipNum为0(左移八位),split[0]为1,得到1

再一次ipNum为1(左移八位),split[1]为0,得到256---1,0000,0000

再一次ipNum为256(左移八位),split[2]为3,得到65539---1,0000,0000,0000,0011

再一次ipNum为65539(左移八位),split[3]为255,得到16,778,239---1,0000,0000,0000,0011,1111,1111

    private Long ip2Long(String ip) {String[] split = ip.split("[.]");Long ipNum = 0L;for (int i = 0; i < split.length; i++) {ipNum = Long.parseLong(split[i]) | ipNum << 8L;}return ipNum;}

将IP地址转换为整数--将32位的二进制转换为十进制相关推荐

  1. php 整数转换为32 位,PHP哈希函数返回一个整数(32位int)(PHP hashing function that returns an integer (32bit int))...

    PHP哈希函数返回一个整数(32位int)(PHP hashing function that returns an integer (32bit int)) 目标是使用INT(不是BIGINT或ME ...

  2. C# IP地址和整数之间的转换,IP地址和数字ip地址的转换

    IP地址与整数之间的转换 1.IP地址转换为整数 原理:IP地址每段可以看成是8位无符号整数即0-255,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个无符号的32位整数. 举例:一 ...

  3. 编写函数unsigned int reverse_bit(unsigned int value),实现无符号二进制整数在32位机器上的bit位翻转

    编写函数unsigned int reverse_bit(unsigned int value),实现无符号二进制整数在32位机器上的bit位翻转 如: 在32位机器上25这个值包含下列各位: 000 ...

  4. 给你IP地址让你算出掩码(点分十进制),子网地址,广播地址。

    给你IP地址让你算出掩码(点分十进制),子网地址,广播地址. 像要算出IP地址的掩码,子网地址,广播地址,先要记住几点.1:IP地址(A B C 三类)属于有类地址.A类地址掩码8位,B类地址16位, ...

  5. 【IEEE754制32位浮点数】与十进制相互转换

    IEEE754制32位浮点数转换为十进制 首先了解一下IEEE754制32位浮点数的存储方式 一个由IEEE745制的32位浮点数由三部分组成 组成部分 位数 含义 符号位 1位 0为正,1为负 指数 ...

  6. IP 地址与整数之间的互相转换详解

    IP 地址的"构造"是由 32 位二进制数组成的. IP地址转换为整数的代码: 或者: 优化如下: 分析:IP 地址的每段可以看成是一个 0-255 的整数,把每段拆分成一个二进制 ...

  7. 32位十六进制浮点数转换为十进制浮点数的方法

    --------------------------------------------- -- 时间:2019-01-11 -- 创建人:Ruo_Xiao -- 邮箱:xclsoftware@163 ...

  8. 如何打印int整数的32位二进制数(位运算)

     位运算符: <<左移 >>右移 >>>无符号右移 & 与运算 :两位全为1,结果为1,否则为0  | 或运算:两位只要有一个为1,结果为1,否则为0 ...

  9. linux32系统下载地址,deepin 15.3 32位ISO下载地址,深度系统最后支持32位的版本

    目前深度操作系统deepin新版本仅提供amd64的ISO下载,从deepin 15.4就不再发布32位版本了,也就是说deepin 15.3是最后支持32位的版本,这个版本提供有deepin-15. ...

最新文章

  1. HDU 4883 Best Coder Round 2 TIANKENG’s restaurant 解读
  2. php热门标签,PHP显示最流行的标签
  3. LAMP+LNMP视频教程
  4. 动态连接数据库及动态建立ODBC,DSN(ZT)
  5. 山山的数学(简单版)
  6. 逆天通用水印扩展篇~新增剪贴板系列的功能和手动配置,卸除原基础不常用的功能...
  7. 如何使用低代码开发平台实现出入库管理
  8. 不确定性环境下的智慧城市顶层设计
  9. 支付分账的体系包含哪些?
  10. 北京商标权律师讲解商标使用应该注意什么事项?
  11. 图像分类篇:pytorch实现ResNet
  12. 大话云原生数据库中的存算分离
  13. vmstat命令详解!看了很多vmstat的详解,自己总结的
  14. 利用F检验来检验自变量与因变量之间的关系能否用一个线性回归模型来表示
  15. 5C.炫酷迷宫(C++)
  16. 有线耳机和无线耳机的利弊
  17. 电脑wifi通过中继器上网频繁掉线问题分析及问题解决方案(DHCP NAK)
  18. 麒麟信安云推动河北省某检察院“智慧检务”跨越式发展
  19. QApplication和QCoreApplication的区别
  20. 多线程之死锁介绍及预防

热门文章

  1. C++ 虚函数表 vfptr
  2. touchjs中,touch的使用
  3. CSDN产品周报第17期|首页推荐流支持快捷修改兴趣标签,问答支持展示gif
  4. chrome浏览器91版本,Chrome中跨域请求无法携带Cookie的解决方案
  5. 微信小程序:好玩的表情包机器人
  6. 正确选择餐具,健康美好生活
  7. Java练手小游戏---黄金矿工
  8. office2016选中、编辑突然变慢
  9. 服务器稳定度cpu温度,现在这天气我的CPU温度稳定在60度...打游戏70度,会不会烧?...
  10. EDM设计案例分享:6款引人入胜的夏日邮件营销模板分享