今天研究了一下IP地址段与子网掩码的算法,需要用到二进制进行换算,相对比较复杂,下面给出IP地址段与子网掩码计算表,以方便大家查询。
| 掩码位数 | 子网数 | 十进制掩码 | IP 数 | 参考可用IP数(网络号-广播地址) | |||
| 0 | 1 | 0 | 0 | 0 | 0 | 4294967296 | 4294967294 |
| 1 | 2 | 128 | 0 | 0 | 0 | 2147483648 | 2147483646 |
| 2 | 4 | 192 | 0 | 0 | 0 | 1073741824 | 1073741822 |
| 3 | 8 | 224 | 0 | 0 | 0 | 536870912 | 536870910 |
| 4 | 16 | 240 | 0 | 0 | 0 | 268435456 | 268435454 |
| 5 | 32 | 248 | 0 | 0 | 0 | 134217728 | 134217726 |
| 6 | 64 | 252 | 0 | 0 | 0 | 67108864 | 67108862 |
| 7 | 128 | 254 | 0 | 0 | 0 | 33554432 | 33554430 |
| 8 | 256 | 255 | 0 | 0 | 0 | 16777216 | 16777214 |
| 9 | 512 | 255 | 128 | 0 | 0 | 8388608 | 8388606 |
| 10 | 1024 | 255 | 192 | 0 | 0 | 4194304 | 4194302 |
| 11 | 2048 | 255 | 224 | 0 | 0 | 2097152 | 2097150 |
| 12 | 4096 | 255 | 240 | 0 | 0 | 1048576 | 1048574 |
| 13 | 8192 | 255 | 248 | 0 | 0 | 524288 | 524286 |
| 14 | 16384 | 255 | 252 | 0 | 0 | 262144 | 262142 |
| 15 | 32768 | 255 | 254 | 0 | 0 | 131072 | 131070 |
| 16 | 65536 | 255 | 255 | 0 | 0 | 65536 | 65534 |
| 17 | 131072 | 255 | 255 | 128 | 0 | 32768 | 32766 |
| 18 | 262144 | 255 | 255 | 192 | 0 | 16384 | 16382 |
| 19 | 524288 | 255 | 255 | 224 | 0 | 8192 | 8190 |
| 20 | 1048576 | 255 | 255 | 240 | 0 | 4096 | 4094 |
| 21 | 2097152 | 255 | 255 | 248 | 0 | 2048 | 2046 |
| 22 | 4194304 | 255 | 255 | 252 | 0 | 1024 | 1022 |
| 23 | 8388608 | 255 | 255 | 254 | 0 | 512 | 510 |
| 24 | 16777216 | 255 | 255 | 255 | 0 | 256 | 254 |
| 25 | 33554432 | 255 | 255 | 255 | 128 | 128 | 126 |
| 26 | 67108864 | 255 | 255 | 255 | 192 | 64 | 62 |
| 27 | 134217728 | 255 | 255 | 255 | 224 | 32 | 30 |
| 28 | 268435456 | 255 | 255 | 255 | 240 | 16 | 14 |
| 29 | 536870912 | 255 | 255 | 255 | 248 | 8 | 6 |
| 30 | 1073741824 | 255 | 255 | 255 | 252 | 4 | 2 |
| 31 | 2147483648 | 255 | 255 | 255 | 254 | 2 | |
| 32 | 4294967296 | 255 | 255 | 255 | 255 | 1 | |
当掩码的最后一位为十进制的0时,计算IP地址段数方法:IP数/256=IP地址段数,在实际中我们往往是先知道了IP地址段数,这时我们就可以将IP地址段数乘以256,得出总的IP数,然后在上面的表中查出相应IP数的十进制子网掩码是多少。