国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

IP地址與整數(shù)之間的轉(zhuǎn)換實現(xiàn)代碼(asp.net)

2024-07-10 12:41:24
字體:
供稿:網(wǎng)友
知識點:一個二進制數(shù),按位左移n位,就是把該數(shù)的值乘以2的n次方
二進制除二即右移一位

1、IP地址轉(zhuǎn)換為整數(shù)

原理:IP地址每段可以看成是8位無符號整數(shù)即0-255,把每段拆分成一個二進制形式組合起來,然后把這個二進制數(shù)轉(zhuǎn)變成
一個無符號32為整數(shù)。
舉例:一個ip地址為10.0.3.193
每段數(shù)字 相對應的二進制數(shù)
10 00001010
0 00000000
3 00000011
193 11000001
組合起來即為:00001010 00000000 00000011 11000001,轉(zhuǎn)換為10進制就是:167773121,即該IP地址轉(zhuǎn)換后的數(shù)字就是它了。
代碼如下:
public class Ip {
public static void main(String[] args) {
System.out.print(ip2int("10.0.3.193"));
}
public static long ip2int(String ip) {
String[] items = ip.split("http://.");
return Long.valueOf(items[0]) << 24
| Long.valueOf(items[1]) << 16
| Long.valueOf(items[2]) << 8
| Long.valueOf(items[3]);
}
}


2、整數(shù)轉(zhuǎn)換為IP地址

原理:把這個整數(shù)轉(zhuǎn)換成一個32位二進制數(shù)。從左到右,每8位進行一下分割,得到4段8位的二進制數(shù),把這些二進制數(shù)轉(zhuǎn)換成整數(shù)然后加上”。”就是這個ip地址了
舉例:167773121
二進制表示形式為:00001010 00000000 00000011 11000001
分割成四段:00001010,00001010,00000011,11000001,分別轉(zhuǎn)換為整數(shù)后加上“。”就得到了10.0.3.193。
代碼如下:
public class Ip {
public static void main(String[] args) {
System.out.print(int2ip(167773121));
}
public static String int2ip(long ipInt) {
StringBuilder sb = new StringBuilder();
sb.append(ipInt & 0xFF).append(".");
sb.append((ipInt >> 8) & 0xFF).append(".");
sb.append((ipInt >> 16) & 0xFF).append(".");
sb.append((ipInt >> 24) & 0xFF);
return sb.toString();
}
}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 云阳县| 乐安县| 额济纳旗| 崇信县| 米脂县| 大埔区| 怀仁县| 昌都县| 长治市| 萝北县| 乌海市| 万年县| 鄂伦春自治旗| 临猗县| 汾西县| 邹城市| 九寨沟县| 普兰县| 喀什市| 平顶山市| 枣强县| 新沂市| 崇信县| 吉林市| 正宁县| 乐都县| 永吉县| 阜城县| 印江| 凭祥市| 渝北区| 永州市| 措美县| 榆中县| 安仁县| 闻喜县| 津南区| 砀山县| 璧山县| 乳山市| 鹿邑县|