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