微机原理与接口技术:02第1章 微型计算机的运算基础_第1页
微机原理与接口技术:02第1章 微型计算机的运算基础_第2页
微机原理与接口技术:02第1章 微型计算机的运算基础_第3页
微机原理与接口技术:02第1章 微型计算机的运算基础_第4页
微机原理与接口技术:02第1章 微型计算机的运算基础_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

0第1章1.3微型计算机的运算基础1.3.1数和数制1、数制与进位计数法2、数的转换3、数制运算1.3.2数的表示1、机器数2、原码、反码和补码3、补码运算1.3.3数的编码1、BCD编码2、ASCII码11.3.1数制计算机常用的数制有十、二、八和十六进制四种。1.数制的基和权数制所使用的数码个数称为基;数制每一位所具有的值称为权。

(1)十进制(Decimalsystem)的基为“10”,即它所使用的数码为0,1,2,3,4,5,6,7,8,9共有10个,其计数规律是逢10进1。

十进制各位的权是以10为底的幂。 如下面这个数:2十万万千百十个其各位的权为个、十、百、千、万、十万,即以10为底的0幂、1幂、2幂等。因此,一个任意十进制数都可用权展开式表示为:其中,是的第位数码,和为正常数,表示小数点左边的位数,表示小数点右边的位数,10为基数,称为十进制的权。3(2)二进制(Binarysystem)的基为“2”,即其使用的数码为0,1,共两个,其计数规律是逢2进1。二进制各位的权是以2为底的幂,如下面这个数:1

1

0

1

1

125

24

23

22

21

20

32168421二进制十进制其各位的权为1,2,4…,即以2为底的0次幂、1次幂、2次幂等。4其中,只能取0或1,、的含义与十进制表达式相同,2为基数,称为二进制的权。为了与其他进制相区别,一个二进制数通常用下标2表示。(3)八进制(Octavesystem)的基为“8”,即其数码共有8个:0,1,2,3,4,5,6,7,其计数规律是逢8进1。八进制的权为以8为底的幂。(4)十六进制(Hexadecimalsystem)的基为“16”,即其数码共有16个:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,其计数规律是逢16进1。

十六进制的权为以16为底的幂。一个任意二进制数都可用权展开式表示为:5为什么要用二进制?电路通常只有两种稳态:导通与阻塞、饱和与截止、高电位与低电位等。具有两个稳态的电路称为二值电路。因此,用二值电路来计数时,只能代表两个数码:0和1。如以1代表高电位,则0代表低电位,所以,采用二进制,可以利用电路进行计数工作。而用电路来组成计算机,则有运算迅速、电路简便、成本低廉等优点。6为什么要用十六进制?用十六进制既可简化书写,又便于记忆。如下列一些等值的数:1000(2)=8(16)

即8(10)

1111(2)=F(16)

即15(10)110000(2)=30(16)

即48(10)11111001(2)=F9(16)

即249(10)在数字后面加上字母符号表示这些数制:B——二进制,D——十进制,O——八进制,H——十六进制。二进制Binarynumber;十进制Decimalnumber;八进制Octalnumber;十六进制Hexadecimalnumber;见教材P8:表1-17例1-1把2AB.EH和12345.678D用位权表示解:2AB.EH=2×162+10×161+11×160+14×16-112345.678D=1×104+2×103+3×102+4×101+5×100+6×10-1+7×10-2+8×10-38n位二进制数可以表示2n个数例如:3位二进制数可以表示8个数(8种状态),分别是000001010011100101110111即3位二进制数可以表示23个数92.数制的转换方法由于我们习惯用十进制记数,在研究问题或讨论解题的过程时,总是用十进制来考虑和书写的。当考虑成熟后,要把问题变成计算机能够“看得懂”的形式时,就得把问题中的所有十进制数转换成二进制代码。进制转换规则见教材P9:图1-5所示10由二进制数各位的权乘以各位的数(0或1)再加起来就得到十进制数。【例】求二进制数101011的十进制数。

1

0

1

0

1

1权:252423222120乘积:3208021累加:43结果:43(10)二进制小数转换为十进制时也可用同样的方法,不过二进制数小数各位的权是2-1,2-2,…。(1)二进制数转换成十进制数的方法11

【例0.4】求二进制数0.101的十进制数。

0

1

0

1

权:202-12-22-3乘积:00.500.125累加:0.625结果:0.625(10)练习:教材P9例1-2把110110B,123.4Q和2AB.8H转换为十进制数。12一般可用下列方法求一个十进制数的二进制代码:用2除该十进制数可得商数及余数,则此余数为二进制代码的最小有效位(LSB)的值。再用2除该商数,又可得商数和余数,则此余数为LSB左邻的二进制数代码。用同样的方法继续用2除下去,就可得到该十进制数的二进制代码。(2)十进制数转换成二进制数的方法13【例0.1】求13的二进制代码。其过程如下:结果为:1101。提示:也可以心算,分别比较23、22、21、20的数值14上面是十进制整数转换成二进制数的“除2取余法”。如果十进制小数要转换成二进制小数,则要采取“乘2取整法”:一个十进制的小数乘以2之后可能有进位使整数位为1(当该小数大于0.5时),也可能没有进位,其整数位仍为零(当该小数小于0.5时)。这些整数位的结果即为二进制的小数位结果。15【例0.2】求十进制数0.625的二进制数。用乘法的竖式计算,步骤如下:16至此就不用再算下去了。如果小数位不是0.00,则还得继续乘下去,直至变成0.00为止。因此,一个十进制小数在转换为二进制小数时有可能无法准确地转换。如十进制数0.1转换为二进制数时为0.0001100110…。因此,只能近似地以0.00011001来表示。由此可得出两点注意事项:(1)一个二进制数可以准确地转换为十进制数,而一个带小数的十进制数不一定能够准确地用二进制数来表示。(2)带小数的十进制数在转换为二进制数时,以小数点为界,整数和小数要分别转换。此外,还有其他各种数制之间的转换,其方法和上述方法差不多,都可以从数制的定义中找到转换方法。17例1-3把十进制数123.25D转换为二进制、八进制和十六进制数。练习:习题918(3)二进制数与八进制、十六进制数之间的转换由于23=8,24=16,因此可用每3位二进制数表示1位八进制数,每4位二进制数表示1位十六进制数。详见表1-2.例1-4例1-5191.3.2数的表示1.机器数 计算机中的数是用二进制来表示的,数的符号也是用二进制表示。 在机器中,把一个数连同其符号在内数值化表示的数称为机器数。无符号数:表示一个数的绝对值或存储单元的地址。有符号数:数的最高有效位为符号位,正数用0表示,负数用1表示,其余位为数值位。202.原码、反码和补码

机器数可用原码、反码和补码表示。对于二进制数, 正数的原码就是它本身,负数的原码符号位为1,数值位为其绝对值; 正数的反码就是它本身,负数的反码符号位为1,数值位为其绝对值按位求反。例1-6机器字长n=8时,求+1D和-1D的原码和反码。解[+1D]原

=00000001B=01H,[-1D]原

=10000001B=81H[+1D]反

=00000001B=01H,[-1D]反

=11111110B=0FEH21补码表示法的规则:对于二进制数,正数的补码就是它本身,负数的补码,对该负数相对应的正数的补码先按位求反后末位加1。例1-7机器字长n=8时,求+1D和-1D的补码。解[+1]补

=+1D=00000001B

按位求反11111110

末位加111111111[-1]补

=11111111B=0FFH例1-8机器字长n=16时,求+8D和-8D的补码。解[+8]补

=+8D=0000000000001000B

按位求反1111111111110111

末位加11111111111111000[-8]补

=1111111111111000=0FFF8H22补码由于补码有许多优点,因此大多数计算机采用补码表示。补码运算的优点:(1)减法运算可以用加法来实现,即用求和来代替求差。(2)数的符号位可以同数值部分作为一个整体参与运算。(3)两数的补码之和(差)=两数和(差)的补码23补码的符号扩展和表数范围:符号扩展:是指一个数从位数较少扩展到位数较多。对于用补码表示的数,符号扩展的原则是:正数前补0,负数前补1。参见例1-9表数范围:是指n位补码所能表示的数的范围。参见p12说明243.补码运算补码运算的性质:[X]补求补=[-X]补[-X]补求补=[X]补补码的加法和减法运算规则:[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补其中[-Y]补可以用对[Y]补进行求补运算得到。25例1-10用补码进行下列运算:23+15;(-23)+(-15);23-15;(-23)-(-15)。解[23]补=00010111B=17H,[-23]补=11101001B=0E9H [15]补=00001111B=0FH,[-15]补=11110001B=0F1H运算过程:(-23)+(-15)=-38

11101001[-23]补

+11110001[-15]补

=111011010[-38]补在计算过程中,可能出现最高有效位向高位的进位,由于机器字长的限制而自动丢失的情况,但并不影响计算结果的正确性。机器将把这一“丢失”的进位保存在微处理器标志寄存器的进位位中。已知补码,求原码按照求负数补码的逆过程,数值部分应是最低位减1,再取反。但对于二进制数先减1再取反和先取反再加1结果一样2627某补码表示的8位二进制整数由3个0和5个1组成,则其可表示的最小值是()。A、-120B、-113C、-15D、-121281.3.3数的编码1.BCD码将1位十进制数0-9分别用4位二进制码来表示,一个字节可表示2位十进制数。组合BCD码:用一个字节表示一位十进制数,其中低4位表示相应的十进制数,高4位没有意义。例1-11用组合和非组合BCD码分别表示十进制数43和512解43D=(01000011)BCD, 43D=(0000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论