微机原理第二章:微型计算机的运算基础与信息表示方法.ppt_第1页
微机原理第二章:微型计算机的运算基础与信息表示方法.ppt_第2页
微机原理第二章:微型计算机的运算基础与信息表示方法.ppt_第3页
微机原理第二章:微型计算机的运算基础与信息表示方法.ppt_第4页
微机原理第二章:微型计算机的运算基础与信息表示方法.ppt_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

第2章 运算基础与信息表示方法,内容摘要:,信息在计算机中都是以二进制数的形式表示的。 本章从二进制数出发,简要介绍计算机中处理和表 示的数及其与其它数制之间的转换,数据运算溢出 判断及信息(数值信息与非数值信息)在计算机中 的表示方法。,学习要点: 进制数的基本概念、各种进制数之间的相互转换 计算机中数值的表示方法、补码运算及溢出判断 十进制数、字母与字符的编码 计算机中BCD码运算时的调整规则,2.1 进位计数制及其之间的转换,2.1 进位计数制,常用的计数制有: 二进制、十进制、十六进制等,进位计数制是一种按进位进行计数的制式,具有两个特征: 进制数的基(Radix):进制数中数码的个数; 进制数的位权(Weight):进制数基的i次幂,即R i; (其中i指某位数码在数据中的位置),2.1 进位计数制,一、十进制数(Decimal),特点:逢十进一; 且有0,1,9 十个数字符号,即数码; 基数:R10 位权:WRi 数码在数值中所处的位置称为位权W,是基数R的i次幂, 任何一个十进制数 D 都可以写成一个多项式和的形式:,上式为十进制数的按权展开式,位权是数码在数值中位置的函数,m,n为正整数,(21),2.1 进位计数制,二、二进制数(Binary),特点:逢二进一,仅有两个数码,故R2,按权展开式:,m,n为正整数,三、十六进制数(Hexadecimal),特点:逢十六进一,有0A,B,F,16个数码,R16,按权展开式:,m,n为正整数,(22),(23),2.1 进位计数制,小结:,1引入基和位权的概念 2任何进位计数制的数都可以用一个多项式的和来表达 3位权是位置 i 的函数,与该位置上的数码大小无关 4在数据中,数位上数码代表数值的大小,是有该数码与 位权的乘积所决定。,提示:,1书写程序中,可使用任何计数制来表示数据。但为了区别 不同的计数制,应在数字后加后缀以示区别: 后缀 “B” 二进制、后缀 “D”十进制、后缀 “H”十六进制 2为了区分十六进制数和以字母表示的标号、变量等的不同, 当十六进制数首位为A- F时,一般其前面加“0”。,2.1.2 进位计数制之间的相互转换,一、二进制数与十进制数之间的转换,1二进制数转换为十进制数,直接用按权式展开,并求和即可。,2十进制数转换为二进制数 (直接法), 对于整数部分,采用“除2取余法”,直到商为零,余数 即为转换成的二进制数整数部分(由低位到高位) ; 对于小数部分,采用“乘2取整法”,而积即为转换成的 二进制数小数部分(由高位到低位) 。 最后将转换结果合起来便得到相应的二进制数。,2.1.2 进位计数制之间的相互转换,二、二进制数与与十六进制数之间的转换,二进制和十六进制之间存在着一种特殊的关系,即一位十六进制数 可以用位二进制数表示,它们之间存在着直接且又唯一的对应关系。,1二进制数转换为十六进制数,以小数点为界,分别向左、右按四位进行分组,不足四 位者,再分别在最前面(整数)或后面(小数)补0,使之 成为四位后,每四位用一位16进制数来表示(见表22),2十六进制数转换为二进制数,将每一位十六进制数对应的二进制数写出即可,小数点 位置不变。,2.1.2 进位计数制之间的相互转换,三、十进制数与十六进制数之间的转换,1十六进制数转换为十进制数,直接用按权式展开,并求和即可。,2十进制数转换为十六进制数, 对整数部分,采用“除16取余法”,直到商为零,而余数 即为转换成的十六进制数整数部分(由低位到高位); 对小数部分,采用“乘16取整法”,其积即为转换成的十六 进制数小数部分(由高位到低位)。 最后将转换结果合起来便得到相应的十六进制数。, 间接法: 十进制数 二进制数 十六进制数,转换,转换,2.2 数值信息的表示方法,数据是计算机处理的对象; 计算机中的数据都是以二进制数形式表示的。,2.2.1 计算机中数值信息的表示方法,一、符号的表示,1无符号二进制数的表示方法: 把全部有效位都用来表示数的大小,这种数称为无符号数 2有符号二进制数的表示方法:,有符号数的正号(+)、负号(),计算机无法识别。 为了让计算机能够识别正、负号,必须用“ 0 ”和“1”来表示。 规定:数的最高位为符号位,用“0”表示正;用“1”表示负。, 这种在计算机中的数据表示形式称为机器数。 机器数的具体形式又有多种,常用的有原码、反码和补码。,例:,+52 = +0110100 = 0 0110100 真值 符号位 尾数 -52 = - 0110100 = 1 0110100 真值 符号位 尾数,2.2.1 计算机中数值信息的表示方法,二、小数点的表示方法: 1定点表示法:小数点在机器数中的位置是因定不变的, 定点整数形式:小数点被固定在数值位最低有效位之后, 定点小数形式:小数点被固定在符号位与尾数之间,定点表示法有两种,采用那种形式,是事先约定的。,2.2.1 计算机中数值信息的表示方法,二、小数点的表示方法: 2浮点表示法:小数点在机器数中的位置是浮动可变的,X 表示为指数和尾数的形式: X= M2E E:浮点数的阶码,M:浮点数的尾数, 因此,在计算机中,浮点数由阶码E、尾数M和整个数 的符号三部分组成。,INTEL公司定义的单精度浮点数其格式如下:,2.2.1 计算机中数值信息的表示方法,计算机中数据格式的使用, 在计算机中采用何种数据格式由程序设计者决定 在汇编语言中,对有符号数一般采用补码格式 定点表示法一般用来表示纯整数或纯小数 浮点表示法的具体格式由程序设计者来选定,在汇编语 言中一般不采用 浮点表示法中: 阶码 E 的位数越多,表示的数值的绝对值越大 尾数 M 的位数越长,表示的数值的精确度越高,2.2.1 计算机中数值信息的表示方法,三、原码、反码和补码, 在计算机内将数值和符号放在一起来表示数值数据,是 一种对数值数据的编码格式,这种数称为机器数。 原码、反码和补码也是一种对数值数据的编码格式, 它们也是编码数或机器数。,原码,2.2.1 计算机中数值信息的表示方法,原码的特点,(1)由定义可以看出: 一个数的原码其尾数就是该数的真值, 其符号 “”,“”用“0”,“1”来表示 (2)原码有两个零: 正零和负零 例:八位机器数: +0原 = 00000000 0原 = 10000000 优点: 真值和其原码表示之间的对应关系简单,容易理解。 缺点: 计算机中用原码进行加减运算比较困难; 0的表示不惟一。,2.2.1 计算机中数值信息的表示方法,三、原码、反码和补码,反码,(1)对于正数:它的反码等于原码 (2)对于负数:它的反码等于它的原码除符号位外,其余 各位取反。,例:X = 52 = 0110100 X原=1 0110100 X反=1 1001011,“0” 的反码:+0反=00000000 0反 =11111111,三、原码、反码和补码,例: X = 52 = 0110100 X原= 1 0 1 1 0 1 0 0 X反= 1 1 0 0 1 0 1 1 X补= X反+1= 1 1 0 0 1 1 0 0,3补码, 若 X 0:则 X补= X反= X原 若 X 0:则 X补= X反+1,2.2.1 计算机中数值信息的表示方法,+0 补 = +0 原 = 0 0 0 0 0 0 0 0 0 补 = 0 反+ 1 = 1 1 1 1 1 1 1 1 + 1 = 1 0 0 0 0 0 0 0 0,4“0”的补码:,三、原码、反码和补码,对八位字长 进位被舍掉,补码只有一个“0”,2.2.1 计算机中数值信息的表示方法,特殊数:10000000, 在原码中定义为: - 0 在反码中定义为: - 127 在补码中定义为: - 128 对无符号数:10000000 B = 128,符号数的表示范围:对8位二进制数,原码: 127 + 127 反码: 127 + 127 补码: 128 + 127, 一个数的机器数有多种形式,究竟采用哪一种形式, 必须事先约定。在微型计算机中,当表示有符号数时, 一般采用补码形式表示机器数。,2.2.2 补码运算及溢出, 在微机中任何有符号数一律用定点整数的补码形式来表示,运算时连同符号一起参加算,其运算的结果自然也是定点整数的补码形式。,一、补码的运算规则: 已知两个数 X,Y 的补码分别为X补,Y补 则有: X + Y 补 = X 补 + Y 补 X - Y 补 = X 补 + - Y 补 X 补补 = X 原 X 补变补 = -X 补,变补:对 X 补的每一位(包括符号位)都按位求反后加1, 便得 到这个数的负数的补码。,举例1:,X 0110100,Y +1110100,求 X+Y? X 原 10110100 X 补 X 反+1 11001100 Y 补 Y 原 01110100 所以: X+Y 补 X 补+ Y 补 11001100+01110100 01000000,采用定点整数的补码形式来表示数据,其符号位可以和 数值一样参加运算;并将补码的减法运算变为加法运算。,举例2:,X + 0001111B, (15) Y 0001100B,(12) 求 : X+Y 和 XY 的补码 X 补 0 0 0 0 1 1 1 1 Y 补 1 1 1 1 0 1 0 0 Y 补 Y补 变补= 0 0 0 0 1 1 0 0 所以: X+Y 补 X 补+ Y 补0 0001111+1 1110100 1 00000011 XY 补 X 补+ Y补0 0001111+0 0001100 0 0011011,2.2.2 补码运算及溢出,二、溢出及其判别方法, 是指运算的结果超出了机器的字长所能表示的数的范围。 无论是用带符号数和无符号数,只要数的绝对值超过机器 所能表示的最大值,就会发生溢出。, 如八位机: 字长为8位二进制数,他的补码所能表示的数的范围为 128 127 十六位机: 16位二进制数的补码所能表示的数的范围为 32768 32767,2.2.2 补码运算及溢出,二、溢出及其判别方法,1符号位法,若参加补码运算的两个数 X1和 X2,其补码的符号位 分别为 S1和 S2,而运算结果的符号位用S来表示:,V1 产生溢出 V0,未溢出,表明:(1)不同符号数运算不产生溢出 (2)同符号数运算,结果的符号相同不产生溢出 (3)同符号数运算,结果的符号不相同必溢出 举例:X165,X267;(按补码计算),2.2.2 补码运算及溢出,二、溢出及其判别方法,2进位位法,V1产生溢出,Cy:两数相加时,最高位(符号位)向前进位的标志位 CD:两数相加时,次高位向符号位的进位标志位,例:若:X01111000, Y01101001 则:XY11100001,计算中次高位向最高位有进位, 而最高位向前无进位,产生溢出。,两正数相加得出负数,结果出错,2.3 非数值信息的表示方法,2.3.1 二进制编码的十进制数, 是指用二进制编码来表示十进制数。 这种表示方法有很多,在此只讨论 8421 BCD码。,1压缩的BCD码 用4位二进制码表示一位十进制数 2非压缩的BCD码 用8位二进制码表示一位十进制数,BCD码与二进制数之间的转换, 先转换为十进制数,再转换二进制数; 反之同样。 例:(0001 0001 .0010 0101)BCD = 11 .25 =(1011 .01) B,举例:BCD码的运算,2.3 非数值信息的表示方法,2.3.2 字母与字符的编码, 字符的编码,一般用7位二进制码表示。 在需要时可在D7位加校验位。 熟悉 0 9,af,AF 的ASCII码,一、美国标准信息交换码(ASCII码),二、ASCII码的校验,奇校验:加上校验位后编码中“1”的个数为奇数 例:A 的ASCII 码是: 41H (1 0 0 0 0 0 1 B) 以奇校验传送则为 C1H(1 1 0 0 0 0 0 1 B) 偶校验:加上校验位后编码中“1”的个数为偶数。 例

温馨提示

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

评论

0/150

提交评论