当前课程知识点:微机原理与接口技术 >  第1周 微型计算机基础概论 >  第4讲 数制与编码 >  常用计数制及其转换

返回《微机原理与接口技术》慕课在线视频课程列表

常用计数制及其转换在线视频

常用计数制及其转换

下一节:计算机中的编码

返回《微机原理与接口技术》慕课在线视频列表

常用计数制及其转换课程教案、知识点、字幕

大家好

这一讲我们来学习计算机中的数制以及它们之间的转换

我们人类习惯的是十进制计数

而计算机呢,是由具有两种状态的开关器件来组成的

这两种开关,两种状态呢,正好可以对应为0和1

用0,比如我们对应到开关的断开

用1,比如对应到开关的闭合,等等

那么这样子我们就有了二进制

所以计算机选择二进制,是一种非常自然的事情

就像我们人选择十进制是一件非常自然的事情一样

那么,由此,计算机硬件能够直接识别

或者说唯一能够直接识别的,就只有二进制

那么也就是说包括十进制在内

我们要想让计算机处理的任何信息

都必须借助于软件来翻译成它能够实现的

它能够直接认识的二进制,0和1

计算机中的常用计数制除了十进制,和二进制之外

还有两种,也就是十六进制和八进制

十进制是我们在幼儿园就已经很熟悉的一种计数制了

它是逢十进位,那个,有0 到,有0到9是个符号

以十为底,逢十进位,那么它的英文是decimal

所以它是用大小字母D来表示的

下边这个就是十进制的计数的这种权值展开式

那么二进制,相对于十进制来讲

它是非常非常简单的,它就是以二为底,逢二进位

只有0和1两个符号,用大小字母B来表示

和十进制一样,二进制也可以用这样的一个权展开式来表达

就是用每一,每一位二进制的0和1

在它的这个数字里头都有它的权值

它的不同的位置,它就是不同的权值

那么十进制我们说是人习惯的进制

二进制是计算机唯一能够认识的进制

那么为什么还要有十六进制

甚至八进制以及其他的一些计数制呢?

也就它们有什么样理由呢,实际上理由非常非常简单

我们用下边这个例子我们来说明一下

这个是十进制数一万,对吧

这个一万的数如果我们要转换成二进制数的话

它转换的结果是这样的,具体怎么样转换的

我们后边再来说,这个数大家可以看来,数一数

17位二进制码,这个数如果说有人给你写了这么样一个数

当然这后面一定要写上大写字母B了

这里没有,把它省略

如果有人给你了这么样一个二进制数

实际上我们有这样一个感觉

我们本能上并不知道这个数的大小是多少

因为我们太不习惯

我们连它有多大的数量级都搞不清楚

再一个呢,一万这个数字

实际上在我们的十进制计数里头

它并不是一个非常大的数字

但是我们要写起来却要写这么长

所以它在书写上,二进制非常的不方便

我们在前面第四,在前面讲计算机与二进制那一讲里头

我们曾经说过,用1位0和1位1可以表示两种状态

那么两位0和1我们就可以表示四种状态

三位0和1,我们就可以表示2的三次方

也就是8种状态,以此类推,那么4位0和1

当然就可以表示2的4次方种状态

也就16种状态,所以下边我们来看

如果我们把这样一个二进制数分组

分成四位,四位一组,从右到左这样分的话

那么我们这四位,我们用一个符号来表示

再四位,还用一个符号来表示

这样依此下去,我们看,这就形成了十六进制数了

所以这个十六,用十六进制数来表示这个一万

我们来看,显然用5位十六进制数就可以表示了

比刚才这样17位二进制来表示的话

它的书写长度上就极大的缩短了

这就是引入十六进制,引入八进制这样的计数制

它的主要的理由,所以下边我们来看

十六进制数呢,就是有16个符号

除了0到9之外,剩下从10到15

我们因为没有一个,必须要用1位

一个符号来表示,所以我们就用A到F来表示了

那么相应的A就代表10,F就代表15

那么十六进制的运算法则就是逢16进位

它用大写字母H来表示

同样的有底下这样的权展开式

与,跟引入十六进制同样的理由

就引入了八进制

八进制呢就是用三位二进制码来用一个符号表示

这就生成了八进制

这个八进制呢,它的运算法则就是逢8进位

用大小字母O来表示它

好,这就是几种进制的一种表示方法

这里呢,除了十进制之外

因为我们人类一直习惯的这种进制

我们后边是不需要用大小字母D去

一定去标示它的,换句话讲

我们写一个数字,如果后边没有任何的标示符

那么我们默认的是十进制数

计算机跟我们一样,因为计算机是我们人发明的

所以计算机你编写程序的时候

如果你写的某一个数字,比如刚才我们的一万

后面没有任何的标示,计算机是会按十进制去处理的

那么如果你刚才的1000,你认为它是二进制数

你在程序里面一定要写上大写字母B

这样的话,它才表示是二进制计数

相应的十六进制跟八进制

后边的这些标示符,也都一定要有

事实上,任何一种计数制

都可以用这样的权值表达式来表示

我们在这里就不再多说,这几种不同的计数制之间

因为所有的计数制要让机

要让计算机处理都必须转换成二进制

所以它们牵扯到一个相互之间的转换问题

转换呢,我们先来看一下,非十进制数到十进制的转换

非十进制,也就说二进制,十六进制,和八进制

如果把他们转换成十进制,用什么样的方法来转换呢

转换就非常简单

就是将刚才我们说说的那些权值表达式展开

求和就可以了,举一个例子,比如这个数

1011.11B,这显然是个二进制,因为后面有B

对吧,如果没有这个B,那么这就是一千零十一点一一

那么现在有了这个B,就是二进制

这个二进制数转换成十进制数怎么转换呢

按照刚才的权值表达式,小数点左边的整数部分

它的离小数点最低的这一位,就是它的个位

它的权值是2的0次方

小数点右边,它的第一位,也就小数的第一位

它的权值是2的负一次方

所以这个权值表达式展开就是这样的描述

把这个描,这个表达式,求和

最后得到的就是它对应的十进制的数

也就是十一点七五

同样的,十六进制数我们也举一个例子

5B.8H,它的这个权值表达式就是这样

5,当然没有问题,5在这里,它的这个

它的权值是16的1次方

B呢,它的权值是16的0次方

B等于多少呢,等于11

所以这里就是加上11乘16的0次方

依此类推,最后得到的是91.5

这样的一个十进制数

八进制和其他的进制我们就不再在这里举例了

就是所有的非十进制数转换成十进制

它的方法都是这样,都是一样的,非常简单

我们主要稍微多讲几句的是

十进制到非十进制之间的转换

十进制到非十进制,也就是十进制到二进制

到十六进制,到八进制的转换呢

它们的整数部分和小数部分的转换规则,不一样

对所有的整数部分,都采用除取余的方法

比如转换成二进制,就是采用除二取余数的办法

而转换,而小数呢,都是采用乘多少,取整的办法

就是转换成二进制的话,就是乘2取整

这里就有一个问题

除二取余实际上是肯定最后是能够完

圆满结束的,而乘2取整,或者乘16取整

有可能你永远都乘不完,那么到底乘到多少为

为合适,这靠,去看具体的应用

也就说要求小数点后到底有多少位

如果小数点后,只要求保留3位,你就乘三次

所以剩下的数就扔了

如果小数点后,要求5位,那你就需要乘5次

当然乘4次就结束了,那就没有问题

这个我们下边通过实例来给大家做一个解释

好,下边我们来看这个例

将十进制数的48.25转换成二进制数

首先我们来转换整数部分

就是除二取余,我们把48来除二

得到24,它的余数是0,然后再除二,余数还是0

再除二,余数还是0,再除二,余数是0

好,再除2,这个时候余数是1

最后还有个1

好,这就是我们转换的结果

转换的结果从上,从低下到向上,低下的是最高位

所以转换的结果整数部分就是110000

接着转换小数部分

小数部分我们说是乘2取整

0.25乘2,就等于0.5,它的整数部分是0

接着0.5再乘2,得到1

所以这边就是1,这就是转换的结果

所以48.25转换的结果就是110000.01B

好这就是将十进制转换成非十进制数的这样一个过程

那么对于非十进制数到二进制的转换

该怎么实现,这实际上是我们必须要了解的

因为计算机只认识二进制,对吧

十进制转换成二进制的方法我们前面已经介绍过

那么十六进制和八进制转换成二进制的方法呢

其实很简单,我们也介绍过,就是因为

就是从它们的来源我们,可以推出来

因为每4位二进制码,可以有16种组合

由此就引入了十六进制

那么我们从二进制转换成十六进制

无非也就是把它们四位四位的弄成一组

然后看这四位对应着十六进制哪一个符号,就是这样得来的

八进制是一样的理由,所以它的转换规则

所以它的转换规则, 就是在整数部分

我们把从小数点从右向左

每四位分成一组,而对于小数部分呢

从小数点,从左向右每四位分成一组

当然,在小数部分最低位不够一组的话

我们在最低位补0

在整数部分,如果高位不够的话,我们在高位补0

用这个例子来看一下

假设这个25.5这后面没有标示符

所以它是十进制数,25.5我们转换成二进制

我们首先整数部分,除二取余,小数部分,乘2取整

就得到了11001.1这样一个二进制

这个二进制数如果我们把它转换成十六进制数呢

按照我们前面的这样一个转换的规则

我们把它小数,整数部分从右向左,每四位分成一组

这是第一组,1001,那么第二组呢,只有个1,不够了

所以我们把高位补个0,补三个0

小数部分呢,从左向右,因为小数部分在这里只有1

不够四位,所以我们在低位补三个0

这样就构成了这样三组,那么这个001,0001

那么显然它对应的十六进制就是1

那么这个1001对应的十六进制就是9

所以后面的1000,对应的十六进制就是8

所以这就19.8H,有关二进制到十六进制的转换

我们后续课程中会大量的使用到

所以希望大家一定要熟练

事实上最后熟练到什么程度呢

比如我们说1010我们马上就要反映出它是十六进制的A

那么它为什么等于十六进制的A

实际上它的过程在你的大脑里最后可以经过这样一个过程

比如1010这样一个二进制数

它的最高位的那个1,它的权值是2的3次方

2的三次方等于几,等于8

那么它的次高位是0,0不管它的权值等于多少

反正是0乘它,那么还是0,那么好了

从右向左的第一位,也是个1

它的权值是2的1次方,那么就等于2

所以这个1010就转换成

转换成十进制的话,就是8+2等于10

那么这个十对应到十六进制的几呢,就是A

所以这个过程实际上

是从二进制到十进制再到十六进制的过程

当然最后熟练到,你看见1010

立刻就能想到十六进制的A

一定要到这样的程度才是可以的

这个就是二进制转换成十六进制的一个例子

我们看下边这个例,这个例呢

直接给出了二进制码

同样的我们整数部分从右向左

每四位分成一组,小数部分从左向右每四位分成一组

不够的低位补0,整数部分不够的高位补0

所以补下来的结果,最后就等到了这样子的一个值

最,第一个1100,它相当于十六进制的C

这个实际上是十进制的12

然后呢,1010,相当于十六进制的A

这个刚才我说过的

这个1010的最高这一位1是2的3次方的权值

还有这个1,是2的1次方的权值

刚才那个C的1100

最高位是2的3次方的权值,次高位是2的2次方的权值

所以就说8+4,实际上等于12,对吧

然后下边这一组,0110,它相当于十六进制的6

最,后这一位,1010,又相当于十六进制的A

所以最后转换的结果就是CA.6AH

这个就是二进制到十六进制的转换

八进制和二进制的转换原理

跟十六进制完全一样,也就,但是呢,它只是

毎三位分成一组而已,同样的整数部分

从右向左,毎三位分成一组

最高位不够三位的在高位补0

小数部分呢,从左向右,三位一组

最,低位不够的,在低位补0

最后,我们也用一个例子来看

比如还是这个数,如果转换成八进制

我们整数部分这样三位一组

好,高位不够的,在高位补0

小数部分也这样三位一组

低位不够的在低位补0

那么这个转换下来的结果

就成了这样子,最高位是312.324

所以最后它转换的

转换的八进制就是这样一个数

这就是十六进制和八进制与二进制的转换的方法

从这个方法里我们看出来

八进制和十六进制它们与二进制之间的转换

是非常简单的,几乎可以说是一一对应的

这也是引入它们的一个主

刚才我们说的主要的理由

所以引入它们主要就是

因为它们跟二进制对应关系非常简单

而它们在书写长度上

又可以大幅的减少二进制的这样一个过长的这样一个

克服二进制过长这样一个缺陷

所以我们才有了这样两种进制

所以这一讲,学习这一讲,希望大家,主要要掌握两点

就是我们要了解计算机中的常用的计数制

至少了解这样四种

核心的就是一定要知道计算机唯一能够直接认识的

只有二进制,不论是十进制,还是八进制,还是十六进制

都必须转换成二进制,才能够被计算机执行

所以其它所有的进制,实际上都是我们,面向我们人的

只有二进制是面向机器的

所以我们编写程序可以采用这四种进制任何一种

但是一旦要翻译成目标程序之后,一律都是二进制数

再一个希望通过这一讲,请大家一定要掌握

不同计数制之间相互的转换

特别是二进制到八进制

以及二进制到十进制之间的转换

在我们后续课程中,都会大量的用到

最后我强调一点,就是我们在写程序的时候

因为我们写的任何一

不论哪一种程序语言来写

写完了程序,刚才前面我们已经讲了

计算机实际上是不可能直接认识

都必须要翻译成机器语言

翻译成0和1所表示的这样子的机器语言程序

那么这样子的翻译,是通过一种软件来实现的

所以我们在编写程序的时候

我们可以选择我们习惯的任何一种进制数

而不需要去一定要考虑写成十六进制或者写成二进制

这一点是同学们后面编程序,希望大家注意的一点

好,这一讲我们就到这里,谢谢大家!

微机原理与接口技术课程列表:

第1周 微型计算机基础概论

-第1讲 关于本课程

--关于本课程

-第2讲 微型计算机系统

--微机系统_01

--微机系统_02

-第3讲 微型计算机一般工作过程

--微机的一般工作过程_01

--微机的一般工作过程_02

-第4讲 数制与编码

--常用计数制及其转换

--计算机中的编码

-第5讲 计算机中数的表示与运算

--数的表示

--符号数的表示

--数的表示与运算

-第6讲 基本逻辑运算与逻辑电路

--基本逻辑运算与逻辑门

--常用逻辑运算及电路

-第7讲 本周小结

--本周小结

-第1周 微型计算机基础概论--第一周单元测验

第2周 8088微处理器

-第8讲 8088微处理器

--8088 CPU_01

--8088 CPU_02

-第9讲 8088 CPU主要引线及机构

--8088 CPU主要引线

--8088 CPU内部结构

--8088 CPU内部寄存器

-第2周 8088微处理器--第二周单元测验

第3周 实模式存储器寻址与总线

-第10讲 实模式存储器寻址

--实模式存储器寻址_01

--实模式存储器寻址_02

--实模式存储器寻址_03

-第11讲 8088系统总线

--8088系统总线

-第12讲 微处理器小结

--微处理器小结

-单元测验--作业

第4周 数据传送指令

-第13讲 指令概述

--指令概述

-第14讲 寻址方式

--寻址方式

-第15讲 通用数据传送指令

--通用数据传送指令_01

--通用数据传送指令_02

--通用数据传送指令_03

-第16讲 地址传送指令

--地址传送指令

-第17讲 输入输出指令

--输入输出指令

-第4周 数据传送指令--第四周单元测验

第5周 算术运算、逻辑运算与移位操作指令

-第18讲 算术运算指令

--加法运算指令

--减法指令

--乘除运算指令

-第19讲 逻辑运算指令

--逻辑运算指令_01

--逻辑运算指令_02

-第20讲 移位操作指令

--移位操作指令

-第5周 算术运算、逻辑运算与移位操作指令--第五周单元测验

第6周 串操作指令

-第21讲 关于串操作指令的说明

--串操作指令说明

-第22讲 串传送与串比较

--串传送与串比较

-第23讲 串扫描指令

--串扫描指令

-第24讲 串装入与串存储指令

--串装入与串存储指令

-第六周单元测验--作业

第7周 程序与处理器控制

-第25讲 程序控制指令说明

--程序控制类指令说明

-第26讲 转移类指令

--无条件转移指令

--条件转移指令

-第27讲 循环控制指令

--循环控制指令

-第28讲 过程调用指令

--过程调用指令

-第29讲 中断指令

--中断指令

-第30讲 处理器控制指令

--处理器控制指令

-第31讲 指令系统小结

--指令系统小结

-第7周 程序与处理器控制--第七周单元测验

-第7周 程序与处理器控制--第七周作业

第8周 汇编语言程序设计

-第32讲 汇编语言源程序

-- 汇编语言源程序_01

-- 汇编语言源程序_02

-第33讲 伪指令

--数据定义伪指令

--符号与段定义伪指令

--汇编语言源程序结构例

--其它伪指令

-第34讲 系统功能调用

--系统功能调用_01

--系统功能调用_02

-第35讲 汇编语言程序设计示例详解

--程序设计示例1

--汇编语言程序设计示例_02

-第36讲 汇编语言程序设计小结

--汇编语言程序设计小结

-第8周 汇编语言程序设计--第八周单元测验

-第8周 汇编语言程序设计--第八周作业

第9周 半导体存储器

-第37讲 半导体存储器概述

--半导体存储器概述

-第38讲 内存单元编址

--存储单元编址

-第39讲 随机存取存储器RAM

-- RAM_01

--RAM_02

-第40讲 只读存储器ROM

--ROM_01

--ROM_02

-第九周单元测验--作业

第10周 半导体存储器扩展技术

-第41讲 半导体存储器扩展

--半导体存储器扩展_1

--存储器扩展_2

--半导体存储器扩展_3

-第42讲 半导体存储器小结

--半导体存储器小结

-第十周单元测验--作业

-第十周作业--作业

第11周 输入输出与中断技术

-第43讲 基本I/O接口

--I/O系统概述_01

--I/O系统概述_02

-第44讲 简单接口芯片

--简单接口芯片

-第45讲 基本输入输出方法

--基本I/O方法

-第46讲 简单I/O控制系统设计

--简单I/O控制系统设计1

--简单I/O控制系统设计2

-第47讲 中断技术

--中断技术1

--中断技术2

-第48讲 输入输出与中断技术小结

--本周小结

-第十一周单元测验--作业

第12周 可编程并行数字接口

-第49讲 可编程定时计数器

--可编程定时计数器8253_01

--可编程定时计数器8253_02

--可编程定时计数器8253_03

-第50讲 可编程并行接口

--可编程并接口8255_01

--可编程并行接口8255_02

--可编程并行接口8255_03

-第51讲 可编程接口小结

--本周小结_01

--本周小结_02

-第十二周单元测验

第13周 模拟量的输入输出

-第52讲 模拟量的输入输出

--模拟量的输入输出

-第53讲 D/A转换器

--D/A转换器_01

--D/A转换器_02

-第54讲 A/D转换器

-- A/D转换器_01

--A/D转换器_02

-第十三周单元测验--作业

第14周 系统综合设计示例详解

-第55讲 I/O接口系统综合设计示例详解I

--综合设计示例详解I_01

--综合设计示例详解I_02

-第56讲 综合设计示例详解II

--综合设计示例详解II_01

--综合设计示例详解II_02

-第57讲 结束语

--结束语

常用计数制及其转换笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。