您的位置:首页 > 编程语言 > Java开发

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

2015-02-09 13:18 375 查看
	/*** 获取广播地址* */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;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: