<分区>
我需要将 IP 子网掩码转换为 24 到 255.255.255.0,或者在 Java 中将 23 转换为 255.255.254.0。有没有我可以使用的 API?
谢谢。
<分区>
我需要将 IP 子网掩码转换为 24 到 255.255.255.0,或者在 Java 中将 23 转换为 255.255.254.0。有没有我可以使用的 API?
谢谢。
最佳答案
没有任何库:
int cidrMask = 23;
long bits = 0;
bits = 0xffffffff ^ (1 << 32 - cidrMask) - 1;
String mask = String.format("%d.%d.%d.%d", (bits & 0x0000000000ff000000L) >> 24, (bits & 0x0000000000ff0000) >> 16, (bits & 0x0000000000ff00) >> 8, bits & 0xff);
>>255.255.254.0
由于 Java 中缺少无符号类型而必须使用 long
关于java - 将子网掩码中的位数转换为java中的点分十进制形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17068190/