ip地址/子网掩码 表示什么,以及如何计算

有这样的一个网络地址表示法 192.168.125.0/27
前面的 192.168.125.0 表示是网络地址,后面的
27 表示子网掩码的二进制表示从头开始的 1 的位数,
这里是前 27 为都是 1,二级制表示为
11111111111111111111111111100000
对应的点分十进制是 255.255.255.224

其它的的对应列表:
1  /  128.0.0.0
2  /  192.0.0.0
3  /  224.0.0.0
4  /  240.0.0.0
5  /  248.0.0.0
6  /  252.0.0.0
7  /  254.0.0.0
8  /  255.0.0.0
9  /  255.128.0.0
10  /  255.192.0.0
11  /  255.224.0.0
12  /  255.240.0.0
13  /  255.248.0.0
14  /  255.252.0.0
15  /  255.254.0.0
16  /  255.255.0.0
17  /  255.255.128.0
18  /  255.255.192.0
19  /  255.255.224.0
20  /  255.255.240.0
21  /  255.255.248.0
22  /  255.255.252.0
23  /  255.255.254.0
24  /  255.255.255.0
25  /  255.255.255.128
26  /  255.255.255.192
27  /  255.255.255.224
28  /  255.255.255.240
29  /  255.255.255.248
30  /  255.255.255.252
31  /  255.255.255.254
32  /  255.255.255.255
33  /  255.255.255.255

同时提供一段 javascript 代码:

var a = 0xFFFFFFFF.toString(2).replace(/1/g, '0').split(''),
	result = [],
	i = 0,
	ip;

while(i < 32) {
	a[i++] = 1, ip = parseInt(a.join(''), 2);
	result.push('' + i + '  /  ' + [
		(ip >> 24) & 0xFF,
		(ip >> 16) & 0xFF,
		(ip >> 8 ) & 0xFF,
		ip & 0xFF
	].join('.'));
}
console.log(result.join('\n'));

Post a Comment

Your email is never shared. Required fields are marked *

*
*