我的 IPv6 知识非常有限,能帮我解决这个问题吗?众所周知,对于 IPv4,如果网络掩码为 25,则映射地址应为 255.255.255.128。算术代码如下:
public static String getNetmaskFromBits( int bits )
{
StringBuilder b = new StringBuilder( 15 );
int tempBits = 0xFFFFFFFF;
tempBits = tempBits << 32 - bits;
b.append( ( tempBits & 0xFF000000 ) >>> 24 ).append( '.' );
b.append( ( tempBits & 0x00FF0000 ) >>> 16 ).append( '.' );
b.append( ( tempBits & 0x0000FF00 ) >>> 8 ).append( '.' );
b.append( tempBits & 0x000000FF );
return b.toString();
}
IPv6 怎么样?它可以是 128 位。如何将其映射到 IPv6 地址?代码应该是这样的:
public static String getIpv6NetmaskFromBits( int bits )
{
StringBuilder b = new StringBuilder( 15 );
...
return b.toString();
}