码迷,mamicode.com
首页 > 其他好文 > 详细

怎样快速对二进制和十进制进行互转化——IP地址规划与设计总结

时间:2020-06-02 13:00:10      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:就是   简单的   适用于   屏蔽   details   二进制   基本   规划   划分子网   

      首先来认识标准分类的IP地址:

       比如一个IP地址为:192.168.128.1 写成二进制为:11000000 10101000 10000000 00000001

 

       一,来看看怎么快速转化二进制数11111111:

       1)首先应该记住八个十进制数字:128,64,32,16,8,4,2,1。这八个数字肯定是经常用到的,以上八个数字加起来恰好就为255。

       2)二进制数11111111每一位对应的数字从左到右恰好是从大到小依次排列:128,64,32,16,8,4,2,1

       3)也就是可以这样对应进行转化相加:

       1    1    1    1      1     1     1    1

       128 + 64 + 32  + 16  +  8  +  4  +  2  + 1 =255

 

       二,再来看其他一些常用十进制数字的转化(反向的必须记住):

       1)254:这一看就是255减去1得到,也就是八位二进制数的最后一位置为零。

       1    1    1    1      1     1     1    0

       128 + 64 + 32  + 16  +  8  +  4  +  2  + 0 =254

       2)252:还是用上述的方法进行相减,255减去(1+2)得到,将最后两位置为零。

       1    1    1    1      1     1     0    0

       128 + 64 + 32  + 16  +  8  +  4  +  0  + 0 =252

       3)248:依然用上述的方法进行相减,255减去(1+2+4)得到,将最后三位置为零。

       1    1    1    1      1     0     0    0

       128 + 64 + 32  + 16  +  8  +  0  +  0  + 0 =248

       4)240:通常我们知道(1+2+4+8=15),用255减去15就是240,因此后四位置为零。

       1    1    1    1      0     0     0    0

       128 + 64 + 32  + 16  +  0  +  0  +  0  + 0 =240

       5)224:这个数可以用上述的减去法,也可以用前四位相加得到,看哪一种更加快速的运算得到,将后五位置为零:

       1    1    1    0     0    0   0    0

       128 + 64 + 32  + 0  +  0  + 0 +  0  + 0 =224

       6)192:这个数使我们最为常见的数字,就是128+64得到,只有前两位为1,后六位均为零。

       1    1    0    0      0     0     0   0

       128 + 64  + 0  + 0  +  0  +  0  +  0  + 0 =192

       7)128:这个数我们可以知道就是第一位为1,其余后面的均为零:

       1    0    0    0      0     0     0   0

       128 + 0   + 0  + 0  +  0  +  0  +  0  + 0 =128

 

       三,再来看一些连续的1和0组成的常用的数字(反向的转化也必须记住):

       1)10010000:根据讲到的拆分法进行相加就是128+16=144

       2)10101000:拆分法得到128+32+8+168

       3)10100000:拆分法得到128+32=160

       4)10000001:拆分法得到128+1=129

       5)10001000:拆分法得到128+8=136

       6)01000000:拆分法得到0+64=64

       7)00100000:拆分法得到0+0+32=32

       8)00010000:拆分法得到0+0+0+16=16

       9)01010000:拆分法得到0+64+0+16=80

       其次我们来看划分子网的三级网络结构,增加了一个子网掩码的概念:

      人们提出了子网掩码或掩码的概念。子网掩码有时叫做子网屏蔽码。掩码的概念同样适用于没有进行子网划分的A类、B类、C类地址。

        技术图片

        简单的说,子网掩码就是由连续的1和连续的0组成, 1表示网络位,0表示主机位。

        来看子网掩码的表示,子网掩码依然是由32位二进制数组成,如果一个B类的网络号从主机位借位7位,由于B类的网络号为16位,

        加上借位的7位(当做网络位对待),就是23位网络号,那么子网掩码的的表示为:

        标准B类地址:11111111 11111111 00000000 00000000

        子网掩码地址:11111111 11111111 11111110 00000000(借用主机号7位)

         那么转化为点分十进制的子网掩码地址为:255.255.254.0

         因此子网号为7的子网掩码示意图:

 技术图片

       

    另外一种的子网掩码的IP地址块表示方法为:网络地址/22(16个网络号+6个借位主机位网络号)

    再来看广播地址的概念:在A类、B类、C类IP地址中,如果主机号是全1(二进制),那么这个主机号为广播地址。

    简单的来说,网络广播站地址的就是将网络地址中的主机位全部置为零。

    来看网络广播地址的表示,如果一个网络地址为195.1.22.64/27的广播地址具有考虑5位的主机号置1。

    由于64的二进制数为01000000,后5位的主机号置1之后为01011111(为十进制位95),

    那么网络195.1.22.64/27的广播地址为195.1.22.95。

 

        最后来看CIDR地址聚合方法:

        简单来说,就是先将所有的IP地址块写成二进制数,从左向右找出相同的前缀,将他们聚合,相同的前缀不变,主机号全部置为零。

        来看一个CIDR聚合的例题:某企业分配给产品部的IP地址块为192.168.31.192/26,分配给市场部的IP地址块为192.168.31.160/27,

        分配给财务部的IP地址块为192.168.31.128/27,那么这三个地址经过聚合后的地址为多少:

        1)首先就是将三个IP地址转换为二进制数:

        192.168.31.192     11000000 10101000 00011111 11000000

        192.168.31.160     11000000 10101000 00011111 10100000

        192.168.31.128     11000000 10101000 00011111 10000000

 

        2)从上述转换为二进制数后找出相同的前缀为24+1=25位,也就是前25位保持不变,

          将后面的主机号全部置为零,得到11000000 10101000 00011111 10000000

 

        3)将聚合后的地址转化为点分十进制得到:

        11000000 10101000 00011111 10000000

        192      168     31      128

        4)因此聚合后地址为:192.168.31.128/25

        以上三类基本上就是网络技术IP地址的规划和设计所考的比较多的题目。
————————————————
版权声明:本文为CSDN博主「life is wonderful」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/erlian1992/article/details/47342189

怎样快速对二进制和十进制进行互转化——IP地址规划与设计总结

标签:就是   简单的   适用于   屏蔽   details   二进制   基本   规划   划分子网   

原文地址:https://www.cnblogs.com/cxyc005/p/13030329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!