IP地址的两种表达方式以及互相之间的转换

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);
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值