PrefixLength的计算

直接用android4.2.2的源码来说话:

frameworksaseservicesjavacomandroidserverNetworkManagementService.java

int prefixLength = NetworkUtils.netmaskIntToPrefixLength( (int)Long.parseLong(mask, 16));

  -->frameworksasecorejavaandroid etNetworkUtils.java

      public static int netmaskIntToPrefixLength(int netmask) {
           return Integer.bitCount(netmask); //返回指定 int 值的二进制补码表示形式的 1 位的数量。
      }

所以PrefixLength就是取掩码int形式的补码的位数。

原文地址:https://www.cnblogs.com/wolflzc/p/3481636.html