根据ip地址和子网掩码获取广播地址的java实现


	/**
	 * 获取广播地址
	 * */
	public static String getBroadcastAddress(String subnet, String ip) {
		String[] ips = ip.split("\\.");
		String[] subnets = subnet.split("\\.");
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < ips.length; i++) {
			ips[i] = String.valueOf((~Integer.parseInt(subnets[i]))
					| (Integer.parseInt(ips[i])));
			sb.append(turnToStr(Integer.parseInt(ips[i])));
			if (i != (ips.length - 1))
				sb.append(".");
		}
		return turnToIp(sb.toString());
	}

	private static String turnToStr(int num) {
		String str = "";
		str = Integer.toBinaryString(num);
		int len = 8 - str.length();
		for (int i = 0; i < len; i++) {
			str = "0" + str;
		}
		if (len < 0)
			str = str.substring(24, 32);
		return str;
	}

	/**
	 * 转换成Str
	 * */
	private static String turnToIp(String str) {
		String[] ips = str.split("\\.");
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < ips.length; i++) {
			sb.append(turnToInt(ips[i]));
			sb.append(".");
		}
		sb.deleteCharAt(sb.length() - 1);
		return sb.toString();
	}

	/**
	 * 转换成int
	 * */
	private static int turnToInt(String str) {
		int total = 0;
		int top = str.length();
		for (int i = 0; i < str.length(); i++) {
			String h = String.valueOf(str.charAt(i));
			top--;
			total += ((int) Math.pow(2, top)) * (Integer.parseInt(h));
		}
		return total;
	}
时间: 2024-10-07 23:47:44

根据ip地址和子网掩码获取广播地址的java实现的相关文章

C#根据IP地址和子网掩码计算广播地址

using System.Net; /// <summary> /// 获得广播地址 /// </summary> /// <param name="ipAddress">IP地址</param> /// <param name="subnetMask">子网掩码</param> /// <returns>广播地址</returns> public static stri

IP地址,子网掩码,默认网关,DNS服务器知识详解(转)

转自:http://www.cnblogs.com/JuneWang/p/3917697.html 为了更深入的学习TCP/IP协议,最近看了不少有关资料,收集整理记录如下,以备后面的使用和方便各位学习: IP地址,子网掩码,默认网关,DNS服务器是什么意思? (一)  问题解析 001.   问:  IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有真奇怪,我的计算机没设DNS,竟然能上

IP地址,子网掩码,默认网关,DNS服务器详解

为了更深入的学习TCP/IP协议,最近看了不少有关资料,收集整理记录如下,以备后面的使用和方便各位学习: IP地址,子网掩码,默认网关,DNS服务器是什么意思? (一)  问题解析 001.   问:  IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有真奇怪,我的计算机没设DNS,竟然能上QQ,却不能打开网页,这是为什么呢> 答:  IP是32位二进制数据,通常以十进制表示,并以“.”分

计算机网络: IP地址,子网掩码,默认网关,DNS服务器详解

楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等概念,这些又是什么意思呢 ? 一 IP地址 概述 计算机要实现网络通信,就必须要有一个用于快速定位的网络地址.IP地址就是计算机在网络中的唯一身份ID,与现实世界中快递的配送需要有具体的住宅地址是一个道理. ip地址以圆点分隔号的四个十进制数字表示,每个数字从0到255,如某一台主机的ip地址为:1

计算机网络: IP地址,子网掩码,网段表示法,默认网关,DNS服务器详解

楔子: 以Windows系统中IP地址设置界面为参考(如图1), IP地址, 子网掩码, 默认网关 和 DNS服务器, 这些都是什么意思呢? 学习IP地址的相关知识时还会遇到网络地址,广播地址,子网等概念,这些又是什么意思呢 ? 一 IP地址 概述 计算机要实现网络通信,就必须要有一个用于快速定位的网络地址.IP地址就是计算机在网络中的唯一身份ID,与现实世界中快递的配送需要有具体的住宅地址是一个道理. ip地址以圆点分隔号的四个十进制数字表示,每个数字从0到255,如某一台主机的ip地址为:1

IP地址与子网掩码

一.IP地址 IP地址:Internet上每台主机都必须有一个唯一的地址以区别于其他主机,这个地址就是Internet地址,也称作IP地址: IPv4(第四版本的IP协议)是构成现今互联网技术的基石协议: IP地址的构成: IP地址由32位二进制构成,共约40亿个,由网络地址和主机地址构成:一个IP地址分为四段:a.b.c.d ,段与段之间用原点分开. IP地址表示方法:二进制形式和点分十进制形式: IP地址的分类:5类 A类地址,B类地址,C类地址,D类地址,E类地址 IP地址的分类是根据第一

IP地址、子网掩码、网络号、主机号、网络地址、主机地址

对于192.168.0.0到192.168.0.255这个网络来说,以下说法中正确的是____. 正确答案: D   你的答案: D (正确) 网段内可用来作为主机IP的范围是:192.168.0.0到192.168.0.255 Network IP是192.168.0.255 Broadcast IP是192.168.0.0 网段内的主机可以通过网卡对网卡传递数据 192.168.0.1和192.168.0.2的主机需要使用Router传递数据包 是class B等级 添加笔记 求解答(4)

IP地址和子网掩码

A类IP地址 第一个字段的取值范围:0-127  默认的子网掩码:255.0.0.0 B类IP地址的第一个字段的取值范围:128-191  默认的子网掩码255.255.0.0 C类IP地址的第一个字段的取值范围:192-223  默认的子网掩码  255.255.255.0 已知IP地址和子网掩码,用IP地址和子网掩码相与即可得到网络号 子网掩码的最后面有几个零,比如n个,即可求出主机数:pow(2,n)-2  (全零用于网络地址,全1用于广播地址) 子网掩码中1的个数可以用于求子网的数目 比

IP地址,子网掩码、默认网关,DNS服务器是什么意思?

IP地址,子网掩码.默认网关,DNS服务器是什么意思? (一)  问题解析 001.   问:  IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有真奇怪,我的计算机没设DNS,竟然能上QQ,却不能打开网页,这是为什么呢> 答:  IP是32位二进制数据,通常以十进制表示,并以“.”分隔.IP地址是一种逻辑地地址,用来标识网络中一个个主机,IP有唯一性,即每台机器的IP在全世界是唯一的.