IP地址是32位的。
例如:01110000000011110101101011000011
好记吗?好写吗?所以把它均分成四段,每段8个,以点号分隔
例如:01110000. 00001111 .01011010 .11000011
这样还是不好记不好写,所以每段里面的二进制数转换成对应的十进制。
例如:112.15.90.195
这称为“点分十进制”表示方法。
点分十进制转二进制:
public String convert(String ip){
Long rs = 0L;
String str[] = ip.split("\\."); //.是转义字符 需要用\\.代替
if(str.length!=4) return "输入格式错误";
for(int k = 0 ; k < str.length ; k++){
int bit = 24-k*8;
try{
if(Integer.parseInt(str[k])<0 ||Integer.parseInt(str[k])>255) return "输入格式错误";
}catch (NumberFormatException e){
return "输入格式错误";
}
rs = rs + Long.parseLong(str[k])<<bit;
}
return Long.toBinaryString(rs);
}

本文详细介绍了如何将IP地址从二进制形式转换为点分十进制形式,并解释了这种表示方法的优点。通过具体实例演示了转换过程,帮助读者更好地理解和记忆IP地址。
884

被折叠的 条评论
为什么被折叠?



