Linux 子网掩码计算, 二进制十进制互相转换

看下边例子

192.168.0.1/24
192.168.0.1/32
192.168.0.1/28

上边24,32,28对应的掩码都是什么,怎么计算的

24,32,28,对应的就是多少个二进制的1

24

11111111 11111111 11111111 00000000

32

11111111 11111111 11111111 11111111

28

11111111 11111111 11111111 11110000

二进制转换十进制

如何转换的呢

首先 11111111 = 255

那么28就是

11111111 11111111 11111111 11110000

255.255.255.[2^7+2^6+2^5+2^4]=240 由此可以计算出他的掩码为255.255.255.240 

十进制转换二进制

那么,十进制转换二进制是如何转换的呢

我们先写一个数

241

给它除2,能整除的记录0,不能整除的记录1

241/2 = 120 ········    1   
120/2 = 60  ········    0
60/2 = 30   ········    0
30/2 = 15   ········    0
15/2 = 7    ········    1
7/2  = 3    ········    1
3/2  = 1    ········    1
1/2  = 1/2  ········    1

由下到上依次为1111 0001 那么结果对不对呢,我们计算一下

1      1     1     1      0    0   0    1   
2^7 + 2^6 + 2^5 + 2^4  +  0  + 0 + 0 + 2^0
128 + 64  + 32  + 16   +  0  + 0 + 0 + 1 =  241

猜你喜欢

转载自www.cnblogs.com/despotic/p/10654155.html