Java examples for Network:IP Address
get IP Subnet Mask Numeric
import java.util.ArrayList; import java.util.regex.Pattern; public class Main{ public static void main(String[] argv) throws Exception{ int cidr = 2; System.out.println(getSubnetMaskNumeric(cidr)); }/*from w w w . j a v a 2 s.c om*/ public static long getSubnetMaskNumeric(final int cidr) throws InvalidIPAddressException { if (cidr > 32 || cidr < 0) throw new InvalidIPAddressException( "CIDR can not be greater than 32"); // starting /24 netmask, in decimal (255.255.255.0) long netmask = 4294967040L; // calculating and correcting netmask if (cidr > 24) { for (long i = cidr; i > 24; i--) { netmask += (long) (java.lang.Math.pow(2, (32 - i))); } } else if (cidr < 24) { for (long i = cidr; i < 24; i++) { netmask -= (long) (java.lang.Math.pow(2, (32 - (i + 1)))); } } return netmask; } }