1. 程式人生 > >對於掩碼轉整數方法

對於掩碼轉整數方法

由於碰到好幾次需要使用轉換,故總結了一下。一開始考慮的是通過自行寫方法轉,發現出現位數不對情況。

現使用了Integer中的toBinaryString方法來實現。

String[] ipmasksStrings = ipmask.split("\\.");
int number = 0;
String temp = "";

if(ipmasksStrings != null && ipmasksStrings.length == 3){
for (String string : ipmasksStrings) {
temp += Integer.toBinaryString(Integer.parseInt(string));
}
char[] chars = temp.toCharArray();
char c = '1';
for(int i = 0; i < chars.length; i++)
{
    if(c == chars[i])
    {
    number++;
    }
}
}

計算掩碼中1的個數

String[] ipmasksStrings = ipAclAdvancedIpMask.split("\\.");
    int num = 0;
    for (String string : ipmasksStrings) {
     String binary = Integer.toBinaryString(Integer.parseInt(string));
     char[]  cha = binary.toCharArray();
     for (char c : cha) {
      if (c == '0') {
       break;
      }
      num++;
     }
    }