知识大全 java中IP地址转换十进制数实现代码

Posted 整数

篇首语:知识比金子宝贵,因为金子买不到它。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 java中IP地址转换十进制数实现代码相关的知识,希望对你有一定的参考价值。

java中IP地址转换十进制数实现代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  先看实例

  代码如下 class ip private static long iptolong(string strip) //将 形式的ip地址转换成 进制整数 这里没有进行任何错误处理 int j= ; int i= ; long [] ip=new long[ ]; int position =strip indexof(" "); int position =strip indexof(" " position + ); int position =strip indexof(" " position + ); ip[ ]=long parselong(strip substring( position )); ip[ ]=long parselong(strip substring(position + position )); ip[ ]=long parselong(strip substring(position + position )); ip[ ]=long parselong(strip substring(position + )); return (ip[ ]<< )+(ip[ ]<< )+(ip[ ]<< )+ip[ ]; //ip * * * +ip * * +ip * +ip private static string longtoip(long longip) //将 进制整数形式转换成 形式的ip地址 在命令提示符下输入ping l stringbuffer sb=new stringbuffer(""); sb append(string valueof(longip>>> ));//直接右移 位 sb append(" "); sb append(string valueof((longip& x ffffff)>>> )); //将高 位置 然后右移 位 sb append(" "); sb append(string valueof((longip& x ffff)>>> )); sb append(" "); sb append(string valueof(longip& x ff)); sb append(" "); return sb tostring(); public static void main(string[] args) system out println("ip地址的各种表现形式 rn"); system out print(" 位二进制形式 "); system out println(long tobinarystring( l)); system out print("十进制形式 "); system out println(iptolong(" ")); system out print("普通形式 "); system out println(longtoip( l));  

  运行结果

  ip地址的各种表现形式

   位二进制形式 十进制形式 普通形式

  输出完成 (耗时 秒) 正常终止

  我们再一步步分开来分析一下 知识点 一个二进制数 按位左移n位 就是把该数的值乘以 的n次方

  二进制除二即右移一位

   IP地址转换为整数

  原理 IP地址每段可以看成是 位无符号整数即 把每段拆分成一个二进制形式组合起来 然后把这个二进制数转变成

  一个无符号 为整数

  举例 一个ip地址为

  每段数字 相对应的二进制数

       

         

         

     

  组合起来即为 转换为 进制就是 即该IP地址转换后的数字就是它了

  代码如下  public class Ip        public static void main(String[] args)            System out print(ip int(" "));                public static long ip int(String ip)           String[] items = ip split(" ");           return Long valueOf(items[ ]) <<                     | Long valueOf(items[ ]) <<                   | Long valueOf(items[ ]) <<                     | Long valueOf(items[ ]);              

   整数转换为IP地址

  原理 把这个整数转换成一个 位二进制数 从左到右 每 位进行一下分割 得到 段 位的二进制数 把这些二进制数转换成整数然后加上” ”就是这个ip地址了

  举例

  二进制表示形式为

  分割成四段 分别转换为整数后加上“ ”就得到了

  代码如下

cha138/Article/program/Java/JSP/201311/20576

相关参考