免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1110 | 回复: 0
打印 上一主题 下一主题

IP地址和长整形Long的转换 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-13 08:47 |只看该作者 |倒序浏览
package cn.com.util.ip;
public class IPParse {
/**
  * 将IP地址转换为长整形
  *
  * @author fxfeng
  * @create 2006-12-3下午05:36:27
  * @param strip
  * @return
  */
private static long ip2Long(String strip) {
  // 将127.0.0.1 形式的ip地址转换成10进制整数,这里没有进行任何错误处理
  long[] ip = new long[4];
  int position1 = strip.indexOf(".");
  int position2 = strip.indexOf(".", position1 + 1);
  int position3 = strip.indexOf(".", position2 + 1);
  ip[0] = Long.parseLong(strip.substring(0, position1));
  ip[1] = Long.parseLong(strip.substring(position1 + 1, position2));
  ip[2] = Long.parseLong(strip.substring(position2 + 1, position3));
  ip[3] = Long.parseLong(strip.substring(position3 + 1));
  return (ip[0]
/**
  * 将长整形转化为字符串
  *
  * @author fxfeng
  * @create 2006-12-3下午05:37:10
  * @param longip
  * @return
  */
private static String long2IP(long longip) {
  // 将10进制整数形式转换成127.0.0.1形式的ip地址,在命令提示符下输入ping 3396362403l
  StringBuffer sb = new StringBuffer("");
  sb.append(String.valueOf(longip >>> 24));// 直接右移24位
  sb.append(".");
  sb.append(String.valueOf((longip & 0x00ffffff) >>> 16)); // 将高8位置0,然后右移16位
  sb.append(".");
  sb.append(String.valueOf((longip & 0x0000ffff) >>> 8));
  sb.append(".");
  sb.append(String.valueOf(longip & 0x000000ff));
  sb.append(".");
  return sb.toString();
}
public static void main(String[] args) {
  System.out.println("ip地址的各种表现形式:\r\n");
  System.out.print("32位二进制形式:");
  System.out.println(Long.toBinaryString(3396362403l));
  System.out.print("十进制形式:");
  System.out.println(ip2Long("255.255.255.255"));
  System.out.print("普通形式:");
  System.out.println(long2IP(3396362403l));
}
}

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/23464/showart_214551.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP