通过IP地址来分访问网通,电信服务器

本文介绍了一种将IP地址转换为长整型数值的算法实现。该算法通过解析IP地址的每个部分并使用Math.pow()函数将其转换为十进制形式,从而方便进行IP地址的比较和处理。

public  long getIpRountingFactor(String ipAddress) {           //ipAddress用户的ip地址

  if (!StringUtils.hasText(ipAddress)) {
   return 0l;
  }
  String[] ips = ipAddress.split("\\.");
  if (ips.length != 4) {
   return 0l;
  }
  int idx = 3;
  long factor =0;
  for (String s : ips) {
   try {
    int i = Integer.valueOf(s);
    if (i > 255 || i < 0) {
     return 0l;
    }
    
//       System.out.println("b="+b);
    System.out.println("factor"+i+"="+factor+"idx="+idx);
//    factor +=i* (256 ^ idx--);
    factor += i*(Math.pow(256,idx--));      //把用户的IP地址转化成十进制的算法,Math.pow()是求方次的函数算法
//    factor+=b;
    System.out.println("factor"+i+"="+factor+"idx="+idx);
   } catch (Exception ex) {
    return 0l;
   }
  }
  System.out.println("factor="+factor);
  return factor;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值