日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java写 IP十进制转变_java实现ip地址与十进制数相互转换

發布時間:2024/2/28 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java写 IP十进制转变_java实现ip地址与十进制数相互转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先看實例

代碼如下

代碼如下:

classip

{

privatestaticlongiptolong(stringstrip)

//將127.0.0.1形式的ip地址轉換成10進制整數,這里沒有進行任何錯誤處理

{

intj=0;

inti=0;

long[]ip=newlong[4];

intposition1=strip.indexof(".");

intposition2=strip.indexof(".",position1+1);

intposition3=strip.indexof(".",position2+1);

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]16));//將高8位置0,然后右移16位

sb.append(".");

sb.append(string.valueof((longip&0x0000ffff)>>>8));

sb.append(".");

sb.append(string.valueof(longip&0x000000ff));

sb.append(".");

returnsb.tostring();

}

publicstaticvoidmain(string[]args)

{

system.out.println("ip地址的各種表現形式:rn");

system.out.print("32位二進制形式:");

system.out.println(long.tobinarystring(3396362403l));

system.out.print("十進制形式:");

system.out.println(iptolong("202.112.96.163"));

system.out.print("普通形式:");

system.out.println(longtoip(3396362403l));

}

}

運行結果:

ip地址的各種表現形式:

32位二進制形式:11001010011100000110000010100011

十進制形式:3396362403

普通形式:202.112.96.163.

輸出完成(耗時1秒)-正常終止

我們再一步步分開來分析一下

知識點:一個二進制數,按位左移n位,就是把該數的值乘以2的n次方

二進制除二即右移一位

1、IP地址轉換為整數

原理:IP地址每段可以看成是8位無符號整數即0-255,把每段拆分成一個二進制形式組合起來,然后把這個二進制數轉變成

一個無符號32為整數。

舉例:一個ip地址為10.0.3.193

每段數字相對應的二進制數

1000001010

000000000

300000011

19311000001

組合起來即為:00001010000000000000001111000001,轉換為10進制就是:167773121,即該IP地址轉換后的數字就是它了。

代碼如下

代碼如下:

publicclassIp{

publicstaticvoidmain(String[]args){

System.out.print(ip2int("10.0.3.193"));

}

publicstaticlongip2int(Stringip){

String[]items=ip.split(".");

returnLong.valueOf(items[0])24)&0xFF);

returnsb.toString();

}

}

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的java写 IP十进制转变_java实现ip地址与十进制数相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。