[工学]第二章微机原理中的数制和编码.ppt_第1页
[工学]第二章微机原理中的数制和编码.ppt_第2页
[工学]第二章微机原理中的数制和编码.ppt_第3页
[工学]第二章微机原理中的数制和编码.ppt_第4页
[工学]第二章微机原理中的数制和编码.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

,1. 数制的基本概念 2. 各进制数间的相互转换 3. 数的补码表示及求补运算 4. 溢出判断 5. 数字与字符的编码,本章内容,学习目的,1.学习数的不同表示方法,2.掌握不同进制数之间的相互转换,3.掌握计算机中数的表示方法,4.掌握数字与字符编码的方法,2.1 无符号数的表示及运算,2.1.1 无符号数的表示方法,1. 十进制数的表示方法 十进制计数法的特点是: 逢十进一; 使用10个数字符号(0,1,2,9)的不同组合来表示一个十进制数; 以后缀D或d表示十进制数,但该后缀可以省略。,任何一个十进制数可表示为:,式中:m表示小数位的位数,n表示整数位的位数,Di为第i位上的数符。,例2.1 138.5(D)=,2.二进制数的表示方法 二进制计数法的特点是: 逢二进一; 使用2个数字符号(0,1)的不同组合来表示一个二进制数; 以后缀B或b表示二进制数。,任何一个二进制数可表示为:,式中:m为小数位的位数,n为整数位的位数,Bi为第i位上的数符。,例2.2 1101.11B=,3.十六进制数的表示法 十六进制计数法的特点是: 逢十六进一; 使用16个数字符号(0,1,2,3,9,A,B,C,D,E,F)的不同组合来表示一个十六进制数,其中AF 依次表示1015; 以后缀H或h表示十六进制数。,任何一个十六进制数可表示为:,式中:m为小数位的位数,n为整数位的位数,Hi为第i位上的数符。,例2.3 0E5AD.BFH =,一般来说,对于基数为X的任一数可用多项式表示为:,式中:X为基数,表示X进制;i为位序号;m为小数部分位数;n为整数部分的位数; 为第i位上的数值,可以为0,1,2,X-1共X个数字符号中任一个; 为第i位的权。,二进制、十六进制以至任意进制数转换为十进制数,只要按公式将各位按权展开(即该位的数值乘于该位的权)求和即可。,2.1.2 各种数制的相互转换,1任意进制数转换为十进制数,1)整数部分的转换,可见,要确定13D对应的二进制数,只需用13除以基数2,直到商为0,然后从下到上读出余数从即为其对应二进制数。,2.十进制数转换成二进制数,该方法也适用于将十进制整数转换为八进制整数、十六进制整数以至其它任何进制整数。,2).小数部分的转换,可见,要确定0.75D对应的二进制数,只需用0.75乘基数2,取出乘积的整数部分,然后将小数部分继续乘2,如此继续直至某一次乘积为1。然后从上倒下读出取出的乘积部分即为其对应二进制小数。,显然,该方法也适用于将十进制小数转换为八进制小数、十六进制小数以至其它任何进制小数。,整数部分:28=1CH, 小数部分:0.75=CH, 因此,28.75=1C.CH,例2.4 将28.75转换为十六进制数。,将十六进制数转换为二进制数的方法:直接将每一位十六进制数写成其对应的四位二进制数。,3二进制数与十六进制数之间的转换,将二进制数转换为十六进制数的方法:以小数点为界,向左(整数部分)每四位为一组,高位不足4位时补0;向右(小数部分)每四位为一组,低位不足4位时补0。然后分别用一个16进制数表示每一组中的4位二进制数。,例2.6 1101110.01011B=0110,1110.0101,1000B=6E.58H 2F.1BH=10 1111.0001 1011B,十进制数、二进制数、十六进制数之间的关系如下表:,2.1.3 二进制数的运算,1.二进制数的算术运算,(1)加: 0+0=0 0+1=1 1+0=1 1+1=0(进1),(2)减: 0-0=0 1-1=0 1-0=1 0-1=1(借位),(3)乘: 00=0 01=0 10=0 11=1,(4)除: 二进制除法是乘法的逆运算。,(1)“与“运算(AND) “与”运算又称逻辑乘,可用符号“”或“”表示。运算规则如下: 00=0 01=0 10=0 11=1,2. 二进制数的逻辑运算,只有当两个变量均为“1”时,“与”的结果才为“1”。,“或”运算又称逻辑加,可用符号“”或“+”表示。 运算规则如下: 00=0 01=1 10=1 11=1,(2)“或”运算(OR),两个变量只要有一个为“1”,“或”的结果就为“1”。,(3)“非”运算(NOT),逻辑“非”运算规则如下:,变量 的“非”运算结果用 表示。,两变量只要不同,“异或”运算的结果就为“1”。,(4)“异或”运算(XOR) “异或”运算可用符号“ ”表示。 运算规则如下:,例2.7 A=11110101B, B=00110000B, 求,解:,2.2 带符号数的表示及运算,2.2.1 机器数与真值,在计算机中,为了区别正数和负数,通常用二进制数的最高位表示数的符号。规定用“0”表示正,“1”表示负。,把一个数及其符号位在机器中的一组二进制数表示形式,称为“机器数”。机器数所表示的值称为该机器数的“真值”。,2.2.2 带符号数的三种表示方法,1.原码,最高位为符号位,原码的特点:,(1)数值部分即为该带符号数的二进制值。,(2)“0”有0和0之分, 若字长为8位,则:,(3)n位二进制原码能表示的数值范围为:,2.反码,正数的反码与其原码相同。,负数的反码是在原码基础上,除符号位外按位取反。,反码的特点:,(1)“0”有0和0之分, 若字长为8位,则:,(2)n位二进制反码能表示的数值范围为:,3.补码,(1)生活中的补码,顺时针较表(做加法):9512(模值丢失)2,逆时针较表(做减法):972,总结: (1)加法和减法等价。 (2)补码加法的规定:如【5】补5 正数的补码是其本身,负数的补码是模值减负数的绝对值。 如:【5】补12|5|=7 (3)补码加法可变减法为加法来做,如:97【9】补【7】补952 故补码加法能有效地把加法和减法问题统一起来。,求补码的规则:(1)正数的补码与其原码、反码相同。,(2)负数的补码是在原码基础上,除符号位外按位取反,再在末位加1。,(2)计算机中的补码,补码的特点:,(1)“0”有无0和0之分, 若字长为8位,则:,(2)n位二进制补码能表示的数值范围为:,对负数而言,,解 x原= x补=00001111B, x=+(026+025+024+123+122+121+120)=15 y原=y补补=10011011B, y=-(026+025+124+123+022+121+120)= -27,例2.10,2.2.3 补码的加减运算,补码的加法规则:,补码的减法规则为:,符号位和数值位一起参加运算,并且自动获得结果(包括符号位与数值位)。,例2.11 已知 +51补=0011 0011B,+66补=0100 0010B, -51补=1100 1101B, -66补=1011 1110B 求 +66补+51补=?+66补+-51补=?-66补+-51补=?,解,故: +66补+51补=(+66)+(+51)补=01110101B,故: +66补+51补=(+66)+(51)补=00001111B,故: 66补+51补=(66)+(51)补=10001011B,例2.12 已知 +51补=0011 0011B,+66补=0100 0010B 51补=1100 1101B,66补=1011 1110B 求 +66补+51补=?66补 51补=?,解: +66补 +51补=+66补+51补=00001111B 66补 51补=66补+51补=11110001B,2.2.4 溢出及其判断方法,1. 溢出的概念,溢出是指带符号数的补码运算溢出,用来判断带符号数补码运算结果是否超出了补码所能表示的范围。若超出该范围,称为溢出。此时运算结果出错。,单符号位法。通过符号位和数值部分最高位的进位状态来判断结果是否溢出。,2. 溢出的判断,正溢出、负溢出,若符号位进位状态用CF来表示,当符号位向前有进位时,CF=1,否则,CF=0;数值部分最高位的进位状态用DF来表示,当该位向前有进位时,DF=1,否则,DF=0。单符号位法就是通过该两位进位状态的异或结果来判断是否溢出的。 若OF=1,说明结果溢出;若OF=0,则结果未溢出。也就是说,当符号位和数值部分最高位同时有进位或同时没有进位时,结果没有溢出,否则,结果溢出。,例2.13 设有两个操作数x=01000100B,y=01001000B,将这两个操作数送运算器做加法运算,试问: 若为无符号数,计算结果是否正确? 若为带符号补码数,计算结果是否溢出?,解,例2.14 设有两个操作数x=11101110B,y=11001000B,将这两个操作数送运算器做加法运算,试问: 若为无符号数,计算结果是否正确? 若为带符号补码数,计算结果是否溢出?,2.3 信 息 的 编 码,2.3.1 数字的编码,这种编码法分别将每位十进制数字编成4位二进制代码,从而用二进制数来表示十进制数。最常用的是8421码。,BCD码是一种常用的数字编码,是一种二进制编码的十进制数。记为,例,0100 1001 0001.0101 1000BCD = 491.58,0100 0011B = 67D = 0110 0111BCD,1压缩型BCD码 压缩型BCD码用一个字节表示两位十进制数。例如,10000110B表示十进制数86。 2非压缩型BCD码 非压缩型BCD码用一个字节表示一位十进制数。高4位总是0000,低4位用00001001中的一种组合来表示09中的某一个十进制数。,BCD码有两种形式,压缩型BCD码和非压缩型BCD码。,69.81=(0110 1001.1000 0001)BCD,例2.15 十进制数与BCD数相互转换。, 将十进制数69.81转换为压缩型BCD数:, 将BCD数1000 1001.0110 1001转换为十进制数:,(1000 1001.0110 1001)BCD=89.69,2.3.2 字符的编码,ASCII码(7位代码),汉字的编码,补,我国根据汉字的常用程度定出了一级和二级汉字字符集,并规定了编码。这就是中华人民共和国国家标准信息交换用汉字编码(GB2312-80)中的汉字编码,即国标码。该标准编码字符集共收录汉字和图形符号7445个。,其中包括:,2.4 数的定点与浮点表示法,2.4.1 定点表示 所谓定点表示法,是指小数点在数中的位置是固定的。原理上讲,小数点的位置固定在哪一位都是可以的,但通常将数据表示成纯小数或纯整数形式,如图所示。,图2.1 定点数的两种表示方法 (a) 纯小数形式;(b) 纯整数形式,举例说明:,当数字量为7FH时,对应的模拟量100X251,2 . 5 1,设用一个n+1位字来表示一个数x,其中一位表示符号位(0表示正,1表示负),其他n位为数值位。对于纯小数表示法,所能表示的数x (原码表示,下同)的范围为: (12n)x12n 它能表示的数的最大绝对值为12n,最小绝对值为2n。 对于纯整数表示法,所能表示的数x的范围为: (2n1)x2n 1 它能表示的数的最大绝对值为2n1,最小绝对值为1。,2.4.2 浮点表示 所谓浮点表示法,就是小数点在数中的位置是浮动的。 任意一个二进制数x总可以写成如下形式: 其中,d称为尾数,是二进制纯小数,指明数的全部有效数字,尾数前的一位称为数符,表示数的符号,该位为0,表明该浮点数为正,该位为1,表明该浮点数为负;p称为阶码,阶码前一位称为阶符,阶符为正时,用0表示,阶符为负时,用1表示。,举例说明:,第二章 结束!,习 题,1.将下列十进制数分别转换为二进制数和十六进制数: 218.8125 15.625 2.将下列二进制数分别转换为十进制和十六进制数: 10111100.111B 0.11011B 3.完成下列加减法运算。 00111101B+10111011B 12AB.F7H+3CD.05H 4.取字长为8位,将下列真值转换为二进制补码形式。 X=-33 Y=-96 5.设机器字长为8位,最高位为符号位,试对下列各式进行二进制补码运算,并判断结果是否溢出,若有溢出是正溢出,还是负溢出。 -52+7 60+90 -90+(-70) 60-90,习 题,6.若有4种微处理器的地址引脚数分别为8条、16条、20条以及32条,则这四种微处理器分别能寻址多少字节的存储单元? 7.分别写出下列字符串的ASCII码: 10ab AE98 B#Dd xyzi Hello Comorade,作 业,5.计算下列表达式的值: 128.8125+10110101.1011B+1F.2H

温馨提示

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

评论

0/150

提交评论