一、序:IP地址和子网划分学习笔记开篇

只要记住你的名字,不管你在世界的哪个地方,我一定会去见你。
——新海诚 电影《你的名字》

在我们的日常生活中,每个人的名字对应一个唯一的身(敏)份(感)证(词)号,在Internet上也是一样,每台主机(Host),包括所有的具有上网功能的电子设备都有IP地址,有了IP地址,这些电子设备联网之后,才能正常通信。

要了解和熟练掌握IP地址和子网的划分,首先必须要对进制数计数有一定的认识,本篇为预备知识:掌握十进制、二进制、十六进制、八进制以及它们之间的关系和互相转换。

IP地址和子网划分学习笔记相关篇章:

1、IP地址和子网划分学习笔记之《预备知识:进制计数》

2、IP地址和子网划分学习笔记之《IP地址详解》

3、IP地址和子网划分学习笔记之《子网掩码详解》

4、IP地址和子网划分学习笔记之《子网划分详解》

5、IP地址和子网划分学习笔记之《超网合并详解》

二、计算机中进制之间的关系和转换

1、计算机中常见的进制

我们的日常生活中常见的十进制,计算机的运行计算基础就是基于二进制来运行,可以简单的理解为:1代表通电(开),0代表断电(关),只是用二进制执行运算,用其他进制表现出来。十六进制常见于内存地址,注册表regedit,MAC地址等。
而计算机中八进制比较少见不常用,一般用于某些编程语言。

计算机本身使用的就是二进制,但是使用起来很不方便的,十六进制或八进制可以很好的解决这个问题(换算的时候1位十六进制数可以用4位二进制数代替,1位八进制数可以用3位二进制数代替)。因为进制越大,数的表达长度也就越短,例如:二进制数111111111111用十六进制表示为FFF,这样更简短,比较节省空间,方便读,也方便记。

2、十进制、二进制、十六进制、八进制之间对照表

3、二进制、八进制、十六进制数转换成十进制

十进制可以有多位组成,根据十进制的运算规则:逢10进1,借1当10,从右向左依次为个位、十位、百位、千位、万位...
(1024)10 = 1×10^3+0×10^2+2×10^1+4×10^0
= 1000+0+20+4
=(1024)10

由此类似,那么二进制的运算规则:逢2进1,借1当2,也可以由多位数组成,从右向左分别为1位、2位、4位、8位、16位...

为什么称二进制的位数为1位、2位、4位...?
这其实要从十进制的角度看二进制各位数得出的名称,如下表:

从上表可以看出,当二进制产生进位时,代表的十进制数为2、4、8、16、32、64、128...
二进制虽然只有0和1两个数字,但是由于数字所处的位置不同,表示的数据也不同
例如:
二进制数 “1101”这个二进制数共有4位,由3个1和1个0组成,比如数字1所处位置不同,所代表的大小也不同,其所处位置称作权。从右向左顺序各个位表示十进制的含义:

第一个1表示:1的个数
第二个0表示:2的个数
第三个1表示:4的个数
第四个1表示:8的个数

(在此可以类比十进制1101,由1个1000,1个100,0个10,1个1组成。)
所以,二进制数1101由1个8,1个4,0个2,1个1组成。按各位的权列出:
(1101)2 = 1×2^3+1×2^2+0×2^1+1×2^0
= 8+4+0+1
=(13)10

这种权展开式可以很方便将二进制转换为十进制。
同理,将八进制数1024转换为十进制数
(1024)8 = 1×8^3+0×8^2+2×8^1+4×8^0
= 512+0+16+4
=(532)10

将十六进制数2B5F转换为十进制数
(2B5F)16 = 2×16^3+B×16^2+5×16^1+F×16^0
= 2×16^3+11×16^2+5×16^1+15×16^0
= 8192+2816+80+15
=(11103)10

由此我们可以得到一个非十进制数转换为十进制数的自定义公式:
(X)Z = Xn-1×Z^n-1+ Xn-2×Z^n-2+…+ X1×Z^1+ X0×Z^0
=(Y)10
X表示一个非二进制(多位),Y表示一个十进制数(多位),Z表示各进制的基数,n表示位数。

4、十进制转换成二进制、十六进制、八进制

十进制转换成二进制整数就通常采用“除2取余,逆序排列”的方法。具体做法是用2整除十进制整数,可以得到一个商和余数,再用2去除商,又会得到一个商和余数,如此反复,直到商为0停止。再把先得到的余数作为二进制低位有效位,后得到的余数作为二进制高位有效位,依次排列。
举个示例:将十进制“11”转换为二进制

将十进制11转换为二进制数为1011,表示为:(11)10 =(1011)2

同样的,十进制转换为十六进制,采用“除16取余,逆序排列”的方法,十进制转换为八进制采用“除8取余,逆序排列”的方法。

5、进制之间转换小技巧

1位十六进制等于4位二进制
1位八进制等于3位二进制

由于十六进制和八进制的基数问题(太大或不太好算),它们的“幂次方”和“除基数取余”计算起来比较麻烦,为了方便计算,通常建议先把它们转换位二进制后再继续转换为相应的进制。

IP地址和子网划分学习笔记之《预备知识:进制计数》的更多相关文章

  1. IP2——IP地址和子网划分学习笔记之《子网掩码详解》

    2018-05-04 16:21:21   在学习掌握了前面的<进制计数><IP地址详解>这两部分知识后,要学习子网划分,首先就要必须知道子网掩码,只有掌握了子网掩码这部分内容 ...

  2. 【转载】IP地址和子网划分学习笔记之《子网掩码详解》

    原文地址: https://blog.51cto.com/6930123/2112748 一.子网掩码 IP地址是以网络号和主机号来标示网络上的主机的,我们把网络号相同的主机称之为本地网络,网络号不相 ...

  3. IP地址和子网划分学习笔记之《IP地址详解》

    2018-05-03 18:47:37   在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. ...

  4. 第5章 IP地址和子网划分(2)_IP地址分类和NAT技术

    3. IP地址的分类 (1)五类IP地址 (2)数轴表示法 4. 保留地址 (1)网段的地址:主机ID全0.如192.168.100.0/24,其中的192.168.10.0指的是网段. (2)广播地 ...

  5. [读书笔记]C#学习笔记三: C#类型详解..

    前言 这次分享的主要内容有五个, 分别是值类型和引用类型, 装箱与拆箱,常量与变量,运算符重载,static字段和static构造函数. 后期的分享会针对于C#2.0 3.0 4.0 等新特性进行. ...

  6. C#学习笔记二: C#类型详解

    前言 这次分享的主要内容有五个, 分别是值类型和引用类型, 装箱与拆箱,常量与变量,运算符重载,static字段和static构造函数. 后期的分享会针对于C#2.0 3.0 4.0 等新特性进行. ...

  7. jQuery学习笔记之Ajax用法详解

    这篇文章主要介绍了jQuery学习笔记之Ajax用法,结合实例形式较为详细的分析总结了jQuery中ajax的相关使用技巧,包括ajax请求.载入.处理.传递等,需要的朋友可以参考下 本文实例讲述了j ...

  8. CDN学习笔记二(技术详解)

    一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精华放上网.公诸同 ...

  9. 单片机STM32学习笔记之寄存器映射详解

    我们知道,存储器本身没有地址,给存储器分配地址的过程叫存储器映射,那什么叫寄存器映射?寄存器到底是什么? 在存储器Block2 这块区域,设计的是片上外设,它们以四个字节为一个单元,共32bit,每一 ...

随机推荐

  1. 深入理解java虚拟机-00

    这本书买了有两年了,只有买回来翻了两页...今天电脑有点卡,游戏玩不了了,就来看看这本书. 首先看了序言,这本书是第二版,讲解的jdk版本是1.7,现在公司用的1.8,而且1.8的改动也挺大的,不过在 ...

  2. day25作业

    1.阻塞  2.就绪  3.阻塞  4.Runnable  5.join()  6.synchronized  7.notify()和notifyAll()   8.Object 1.A   2.D  ...

  3. 【PAT】1020 Tree Traversals (25)(25 分)

    1020 Tree Traversals (25)(25 分) Suppose that all the keys in a binary tree are distinct positive int ...

  4. 基于nopCommerce的开发框架(附源码)

    .NET的开发人员应该都知道这个大名鼎鼎的高质量b2c开源项目-nopCommerce,基于EntityFramework和MVC开发,拥有透明且结构良好的解决方案,同时结合了开源和商业软件的最佳特性 ...

  5. 【LOJ】#2270. 「SDOI2017」天才黑客

    题解 显然要记录每个点来的状态,这样会扩充出点度的平方条边,就gg了 删掉所有的点,把每个边拆成两个点,连一条边权为c 这个时候我们考虑对于原先的每个点,将所有与其相连边所需要的节点(不管是进入还是出 ...

  6. Codeforces 584E Anton and Ira

    Anton and Ira 我们把点分为三类, 向左走的, 向右走的, 不动的. 最完美的情况就是每个点没有走反方向. 每次我们挑选最右边的向右走的去把向左走的交换过来,这样能保证最优. #inclu ...

  7. JQuery 获取除某指定对象外的其他对象 :not() 与.not()

      .not() 遍历方法 从匹配元素集合中移除元素 :not() 选择器 选取除了指定元素以外的所有元素 .siblings() 遍历方法 返回被选元素的所有同级元素 需排除对象单数个(1个) 获取 ...

  8. 使用Synchronized块同步方法

    synchronized关键字有两种用法.第一种就是在<使用Synchronized关键字同步类方法>一文中所介绍的直接用在方法的定义中.另外一种就是synchronized块.我们不仅可 ...

  9. 网络设备Web登录检测工具device-phamer

    网络设备Web登录检测工具device-phamer   为了便于管理和维护,大部分网络都提供了Web管理接口.Kali Linux提供了一款专用检测工具device-phamer.该工具可以批量检测 ...

  10. react的非DOM操作

    非dom属性?dangerouslySetInnerHTML,ref,key非dom标准属性,也就是说dom标准里面没有规定的属性,react引入了三个非dom属性,如上. dangerouslySe ...