转载:http://blog.csdn.net/lin111000713/article/details/16337391

原理:
IP地址是一个以点作为分隔符的十进制四字段字符串,例如“10.0.3.193”。将这四个十进制数转化为二进制即为:

每段数字             相对应的二进制数 
10                          00001010 
0                            00000000 
3                            00000011 
193                        11000001

以从左到右的顺序放在一起,为00001010 00000000 00000011 11000001,转换为10进制数就是:167773121,即为一个长整型。
从长整型到字符串的转化要点:移位、屏蔽掉不需要的位,字符串拼接。
从字符串到长整型的转化要点:解析字符串,移位,求和。

Java代码:

public class IPConvertor {public static String numToIP(long ip) {StringBuilder sb = new StringBuilder();for (int i = 3; i >= 0; i--) {sb.append((ip >>> (i * 8)) & 0x000000ff);if (i != 0) {sb.append('.');}}//System.out.println(sb);return sb.toString();}public static long ipToNum(String ip) {long num = 0;String[] sections = ip.split("\\.");int i = 3;for (String str : sections) {num += (Long.parseLong(str) << (i * 8));i--;}//    System.out.println(num);return num;}public static void main(String[] args) {long sd = 92305930;String str = numToIP(sd);System.out.println(str);System.out.println(ipToNum(str));}
}

Java实现点分十进制IP和长整型转换相关推荐

  1. 【Programming Clip】点分十进制IP和长整型转换

    作者:gnuhpc  出处:http://www.cnblogs.com/gnuhpc/ 1.用途 将一个整型数值和一个IP字符串相互转换. 2.描述语言 C, Java 3.原理 IP地址是一个以点 ...

  2. Java实现点分十进制IP地址转换为整数

    package ipaddress; //一.将IP地址转换为整数(IPV4,点分十进制)的关键技术点如下: //1.通过String的indexOf方法找出字符串IP地址中的"." ...

  3. python中复数的实部和虚部都是浮点数_Python基础:数值(布尔型、整型、长整型、浮点型、复数)...

    一.概述 Python中的 数值类型(Numeric Types)共有5种:布尔型(bool).整型(int).长整型(long).浮点型(float)和复数(complex). 数值类型支持的主要操 ...

  4. 点分十进制IP校验、转换,掩码校验

    /****************************************************************************** 点分十进制IP校验.转换,掩码校验* 声 ...

  5. java长整型转换为整型_java ip地址转换为长整型

    java ip地址转换为长整型 java ip地址转换为长整型: public class Util { /** * 字符串ip转换为long * @param 字符串ip * @return */ ...

  6. Java的长整型Long/long后面的数字什么情况下必须加L?

    [1] 问题的由来   在日常开发中,实体类需要序列化,一般写法如下: public class User implements java.io.Serializable {private stati ...

  7. 将ip地址转换成一个长整型(日志处理)

    //将ip地址转换成一个长整型 def ip2Long(str:String): Long ={val fields: Array[String] = str.split("\\." ...

  8. Java | 由天数计算日期:长整型long转换为日期

    如题,晚上突发奇想要写个程序算一下和烧饼是哪天认识的,记得很多年前QQ是能看加好友的时间的,现在却只能看认识天数了,所以只好自己动手啦. 用的是Java,这是上学期学的内容了,但知识全还给老师了,花了 ...

  9. java长整型数输入格式_java编程之计算16位长整型数字中0-9出现次数(从命令窗输入数据)...

    /* *读入一个16位的长整型,利用switch语句计算0-9这十个数字中,每个字出现的次数 **/ import java.util.Scanner; class number{ public st ...

最新文章

  1. 16个matplotlib绘图实用小技巧!
  2. 工程项目管理丁士昭第二版_2021年软考系统集成项目管理工程师知识点预习第十四章第二节...
  3. 十年前,他如何自学技术进阿里?
  4. html、css、js注释,js,html,css注释大集合
  5. LeetCode:位运算实现加法
  6. oracle清除bin,Oracle recyclebin详解(闪回删除的表)
  7. springboot整合ehcache+redis实现双缓存
  8. Ubuntu16.04 LTS下apt安装WireShark
  9. 测试构造器它山之玉可以重构:身份证号(第四天)
  10. 树莓派RaspberryPi的RPi.GPIO使用指南
  11. 联想a500手机驱动_一块砖也敢刷:联想手机A368T刷了三次才重新进入系统
  12. SQL中的集合运算有必要存在的几个例子
  13. Atitit.获取某个服务 网络邻居列表 解决方案
  14. 线性代数及其应用(第三版)5.1节习题解答
  15. Python入门之经典函数实例
  16. C语言高版本vs编译器scanf_s等报错原因方法
  17. c++ 查看opencv版本 linux
  18. 消防联动控制系统服务器,火灾自动报警消防联动控制系统报价单V4.4.xls
  19. OOALV进阶版:实现一个屏幕下展示多个ALV,跳转网页
  20. MES的转型升级,智能制造呼唤新理念

热门文章

  1. 能将pdf完美转换成txt格式的方法
  2. #HPDC 华为伙伴暨开发者大会2022随笔
  3. 教你如何施缓迅雷上de传
  4. Android Room使用详解
  5. miniprogram-to-uniapp使用指南(各种小程序项目转换为uni-app项目)
  6. 查找字符串中最长的单词
  7. 嵌入式软件设计(定时器中断)
  8. 山顶之光摩天轮制作教程
  9. Windchill 队列相关
  10. HTML之2021新年快乐牛年大吉<除夕快乐噢>