<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Cyh的博客

    Email:kissyan4916@163.com
    posts - 26, comments - 19, trackbacks - 0, articles - 220

    IP地址轉(zhuǎn)化成整數(shù)

    Posted on 2009-12-11 22:48 啥都寫點(diǎn) 閱讀(3097) 評(píng)論(0)  編輯  收藏 所屬分類: J2SE

     關(guān)鍵技術(shù):

       將IP地址轉(zhuǎn)化成整數(shù)的關(guān)鍵技術(shù)點(diǎn)如下:

          1、通過String的indexOf方法找出IP字符串中的"."的位置
          2、根據(jù)點(diǎn)的位置,使用String的substring方法把IP字符串分成4段
          3、使用Long的parselong方法把子段轉(zhuǎn)化為一個(gè)3位數(shù)
          4、通過左移位操作(<<)給每一段的數(shù)字加權(quán),第一段的權(quán)為2的24次方,第二段的權(quán)為2的16次方,第三段的權(quán)為2的8次方,最后一段的權(quán)為1.


       將整數(shù)形式的IP地址轉(zhuǎn)化成字符串的技術(shù)點(diǎn)如下:

          1、將整數(shù)值進(jìn)行右移位操作(>>),右移24位,右移時(shí)高位補(bǔ)0,得到的數(shù)字即為第一段IP。
          2、通過與操作符(&)將整數(shù)值的高8位設(shè)位0,再右移16位,得到的數(shù)字即為第二段IP。
          3、通過與操作符把整數(shù)值的高16位設(shè)為0,再右移8位,得到的數(shù)字即為第三段IP。
          4、通過與操作符把整數(shù)值的高24位設(shè)為0,得到的數(shù)字即為第四段IP。
        
    public class IP2Long {
        
    //將127.0.0.1 形式的IP地址轉(zhuǎn)換成10進(jìn)制整數(shù),這里沒有進(jìn)行任何錯(cuò)誤處理
        public static long ipToLong(String strIP){
             
    long[] ip=new long[4];
             
    //先找到IP地址字符串中.的位置
             int position1=strIP.indexOf(".");
             
    int position2=strIP.indexOf(".",position1+1);
             
    int position3=strIP.indexOf(".",position2+1);
             
    //將每個(gè).之間的字符串轉(zhuǎn)換成整型
             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]<<24)+(ip[1]<<16)+(ip[2]<<8)+ip[3]; 
        }


        
    //將10進(jìn)制整數(shù)形式轉(zhuǎn)換成127.0.0.1形式的IP地址
        public static String longToIP(long longIP){
             StringBuffer sb
    =new StringBuffer("");
             
    //直接右移24位
             sb.append(String.valueOf(longIP>>>24));
             sb.append(
    ".");          
             
    //將高8位置0,然后右移16位
             sb.append(String.valueOf((longIP&0x00FFFFFF)>>>16)); 
             sb.append(
    ".");
             sb.append(String.valueOf((longIP
    &0x0000FFFF)>>>8));
             sb.append(
    ".");
             sb.append(String.valueOf(longIP
    &0x000000FF));
             
    return sb.toString(); 
        }
     
        
    /**
         * 
    @param args
         
    */

        
    public static void main(String[] args) {
            String ipStr 
    = "192.168.0.1";
            
    long ipLong = IP2Long.ipToLong(ipStr);
            System.out.println(
    "192.168.0.1 的整數(shù)形式為: " + ipLong);
            System.out.println(
    "整數(shù)" + ipLong + "轉(zhuǎn)化成字符串IP地址: " 
                    
    + IP2Long.longToIP(ipLong));
            
    //IP地址轉(zhuǎn)化成二進(jìn)制形式輸出
            System.out.println("192.168.0.1 的二進(jìn)制形式為: " 
                    
    + Long.toBinaryString(ipLong));
        }

    }



                                                                                                           --    學(xué)海無涯
            

    主站蜘蛛池模板: 国产日韩AV免费无码一区二区| 最近中文字幕大全中文字幕免费| 久久精品国产亚洲AV不卡| 成人免费无码大片a毛片| 婷婷亚洲综合一区二区| 久久夜色精品国产亚洲AV动态图| 午夜免费1000部| 久久久亚洲AV波多野结衣| 精品无码无人网站免费视频 | 亚洲高清不卡视频| 免费观看美女裸体网站| 香蕉免费一级视频在线观看| 五月天婷亚洲天综合网精品偷| 可以免费观看的国产视频| 亚洲中文字幕久久无码| 亚洲精品夜夜夜妓女网| 免费无码看av的网站| 久热免费在线视频| 羞羞视频免费网站含羞草| 亚洲噜噜噜噜噜影院在线播放 | 亚洲国产一区明星换脸| 免费看又黄又无码的网站| 亚洲成在人天堂一区二区| 国产成人在线免费观看| 精品国产呦系列在线观看免费| 亚洲av永久综合在线观看尤物| 久久久久久国产精品免费免费| 亚洲精品无码日韩国产不卡av| 四虎1515hm免费国产| 久久精品国产免费观看三人同眠| 一级做a爰性色毛片免费| 亚洲精品精华液一区二区| 亚洲精品国产成人| 国产亚洲真人做受在线观看| 国产成人免费a在线视频色戒| 114级毛片免费观看| 国产成人高清亚洲一区久久| 亚洲人妖女同在线播放| 久久久久亚洲Av无码专| 好吊妞998视频免费观看在线| 日韩精品人妻系列无码专区免费 |