java實現子網路遮罩轉換為網路標識位

來源:互聯網
上載者:User

子網路遮罩(subnet mask)又叫網路遮罩、位址遮罩、子網路遮罩,它是一種用來指明一個IP地址的哪些位標識的是主機所在的子網以及哪些位標識的是主機的位元遮罩。子網路遮罩不能單獨存在,它必須結合IP地址一起使用。子網路遮罩只有一個作用,就是將某個IP地址劃分成網路地址和主機地址兩部分。

  子網路遮罩的作用

  通過 IP 位址的二進位與子網路遮罩的二進位進行與運算,確定某個裝置的網路地址和主機號,也就是說通過子網路遮罩分辨一個網路的網路部分和主機部分。子網路遮罩一旦設定,網路地址和主機地址就固定了。子網一個最顯著的特徵就是具有子網路遮罩。與IP地址相同,子網路遮罩的長度也是32位,也可以使用十進位的形式。例如,為二進位形式的子網路遮罩:1111 1111、1111 1111、1111 1111、0000 0000,採用十進位的形式為:255.255.255.0。

 

網掩碼的表示方法  子網路遮罩通常有以下2種格式的表示方法:

  1. 通過與IP地址格式相同的點分十進位表示

  如:255.0.0.0 或 255.255.255.128

  2. 在IP地址後加上"/"符號以及1-32的數字,其中1-32的數字表示子網路遮罩中網路標識位的長度

  如:192.168.1.1/24 的子網路遮罩也可以表示為 255.255.255.0

 

 

StringBuffer sbf;
        String str;
        String strip= "255.255.255.0";   //子網路遮罩
        int inetmask=0,count=0;       //子網路遮罩縮寫代碼
        def ipList=strip.split('//.');
         for(int n=0;n<ipList.size();n++)
           {

                    sbf = toBin(Integer.parseInt(ipList[n]));
                    str=sbf.reverse().toString();
                    println(ipList[n]+"---"+str);

                   //統計2進位字串中1的個數
                   count=0
                   for(int i=0;i<str.length();i++){
                       i=str.indexOf('1',i);  //尋找 字元'1'出現的位置                        
                       if(i==-1){break;}
                       count++;  //統計字元出現次數
                  }
                 inetmask+=count;
 
            }
       println "子網路遮罩縮寫代碼:"+inetmask;


  StringBuffer toBin(int x)
     {
       StringBuffer result=new StringBuffer();
        result.append(x%2);
        x/=2;
        while(x>0){
          result.append(x%2);
          x/=2;
        }
        return result;
     }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.