《微型计算机基本原理与应用》课件第1章数据在计算机中的表示与运算方法.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《微型计算机基本原理与应用》课件第1章数据在计算机中的表示与运算方法.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机基本原理与应用 微型计算机基本原理与应用课件第1章 数据在计算机中的表示与运算方法 微型计算机 基本原理 应用 课件 数据 计算机 中的 表示 运算 方法
- 资源描述:
-
1、 第第1 1章章 数据在计算机中的表示与运算方法数据在计算机中的表示与运算方法 本章主要内容本章主要内容n计算机中几种常用进位计数制及不同进位制数之间的计算机中几种常用进位计数制及不同进位制数之间的转换方法;转换方法;n数据在计算机中的表示与运算方法。数据在计算机中的表示与运算方法。1.1 进位计数制进位计数制n计算机中全部信息(包括指令和数据)都是采用二进制数,计算机中全部信息(包括指令和数据)都是采用二进制数,为了书写方便,又经常采用十六进制。人们在日常生活中又为了书写方便,又经常采用十六进制。人们在日常生活中又广泛采用十进制。广泛采用十进制。n二进制、十六进制、十进制都是进位计数制。二进
2、制、十六进制、十进制都是进位计数制。1.1.1 进位计数制及其基数和权进位计数制及其基数和权n进位计数制:用一组固定的数字符号和特定的规则表进位计数制:用一组固定的数字符号和特定的规则表示数的方法。示数的方法。l基数和权基数和权l在进位计数制中,一种进位制所允许选用的基本数在进位计数制中,一种进位制所允许选用的基本数字符号的个数称为这种进位制的字符号的个数称为这种进位制的基数基数。l同一个数字符号处在不同的数位时,它所代表的数同一个数字符号处在不同的数位时,它所代表的数值是不同的,每个数字符号所代表的数值等于它本值是不同的,每个数字符号所代表的数值等于它本身乘以一个与它所在数位对应的常数,这个
3、常数叫身乘以一个与它所在数位对应的常数,这个常数叫做位权,简称做位权,简称权权(weight)。)。n不同进位制的基数不同不同进位制的基数不同 十进制:基数十进制:基数10,数字符号,数字符号09 二进制:基数二进制:基数2,数值符号,数值符号0,1n同一进制,不同数位其权值不同。同一进制,不同数位其权值不同。1.1.2 常用的进位计数制常用的进位计数制十进制十进制任何一个十进制数,都可以用一个多项式来表示:任何一个十进制数,都可以用一个多项式来表示:等式右边的表示形式,称为十进制数的等式右边的表示形式,称为十进制数的多项式表示法,多项式表示法,也叫按权展开式也叫按权展开式;等号左边的形式,称
4、为十进制的位置记数法。位置记等号左边的形式,称为十进制的位置记数法。位置记数法是一种与位置有关的表示方法,同一个数字符号数法是一种与位置有关的表示方法,同一个数字符号处于不同的数位时,所代表的数值不同,即其权值不处于不同的数位时,所代表的数值不同,即其权值不同。同。21012312.253 101 102 102 105 10 二进制二进制二进制数的基数为二进制数的基数为2,即它所用的数字符号个数只有两,即它所用的数字符号个数只有两个(个(“0”和和“1”)。它的计数进位规则为)。它的计数进位规则为“逢二进一逢二进一”。二进制数只有两种数字符号,因而便于数字系统与电二进制数只有两种数字符号,因
5、而便于数字系统与电子计算机内部的表示与存储。它的另一个优点是运算规子计算机内部的表示与存储。它的另一个优点是运算规则的简便性,而运算规则的简单,必然导致运算电路的则的简便性,而运算规则的简单,必然导致运算电路的简单以及相关控制的简化简单以及相关控制的简化。n八进制八进制 八进制数的基数八进制数的基数R8,每位可能取八个不同的数字符,每位可能取八个不同的数字符号号07中的任何一个,进位规则是中的任何一个,进位规则是“逢八进一逢八进一”。l1位八进制对应位八进制对应3位二进制位二进制l八进制:八进制:0,1,2,3,4,5,6,7l二进制:二进制:000,001,010,011,100,101,1
6、10,111十六进制十六进制十六进制数的基数十六进制数的基数R16,每位用十六个数字符号,每位用十六个数字符号0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F中中的一个表示,进位规则是的一个表示,进位规则是“逢十六进一逢十六进一”。与二进制转换时候,其每位对应与二进制转换时候,其每位对应4位二进制数。位二进制数。在编程时,为了书写方便,常用十六进制表示。在编程时,为了书写方便,常用十六进制表示。1.2 1.2 不同进位制数之间的转换不同进位制数之间的转换1.2.1 二进制数转换为十进制数二进制数转换为十进制数u按权展开,例如按权展开,例如(101011.101)2(2523212
7、02-12-3)10 (328210.50.125)10 (43.625)10u同样的方法也可将八进制数转换为十进制数。同样的方法也可将八进制数转换为十进制数。p这种用以实现数制转换的方法,称为多项式替代法。这种用以实现数制转换的方法,称为多项式替代法。1.2.2 十进制数转换为二进制数(整数部分)十进制数转换为二进制数(整数部分)n十进制数转换为二进制数:除十进制数转换为二进制数:除2取余,例如十进制数取余,例如十进制数29的转换。的转换。2 921 4余数1 (B0)72232120余数0 (B1)余数1 (B2)余数1 (B3)余数1 (B4)29D=11101B n采用采用“除除8取余
8、取余”或或“除除16取余取余”的方法,即可将一个的方法,即可将一个十进制整数转换为八进制整数或十六进制整数。十进制整数转换为八进制整数或十六进制整数。n这种数制转换的方法称为基数除法或这种数制转换的方法称为基数除法或“除基取余除基取余”法。法。可概括为:可概括为:“除基取余,直至商为除基取余,直至商为0,注意确定高、低,注意确定高、低位位”。1.2.2 十进制数转换为二进制数(小数部分)十进制数转换为二进制数(小数部分)n十进制小数转换为二进制小数十进制小数转换为二进制小数:乘乘2取整取整 例例 把0.625转换成二进制数 把0.625乘2取整0.625 21.250b-1=1 0.25 2
9、0.50b-2=00.5 2 1.0b-3=1 0.625=0.101Bn在十进制小数转换成二进制小数时,整个计算过程可能在十进制小数转换成二进制小数时,整个计算过程可能无限地进行下去,这时,一般考虑到计算机实际字长的无限地进行下去,这时,一般考虑到计算机实际字长的限制,只取有限位数的近似值就可以了。限制,只取有限位数的近似值就可以了。n上述这种数制转换方法称为基数乘法或上述这种数制转换方法称为基数乘法或“乘基取整乘基取整”法。法。可概括如下:可概括如下:“乘基取整,注意确定高、低位及有效位乘基取整,注意确定高、低位及有效位数。数。”u如果一个数既有整数部分又有小数部分,则用前述如果一个数既有
10、整数部分又有小数部分,则用前述的的“除基取余除基取余”及及“乘基取整乘基取整”结合求解。结合求解。1.2.3 任意两种进位制数之间的转换任意两种进位制数之间的转换 n为实现任意两种进位制数之间的转换(例如从为实现任意两种进位制数之间的转换(例如从P进制转进制转换成换成R进制),可以用进制),可以用“基数乘除法基数乘除法”或或“多项式替多项式替代法代法”直接从直接从P进制转换成进制转换成R进制,此时如果熟悉进制,此时如果熟悉P进进制的运算规则就可以采用制的运算规则就可以采用“基数乘除法基数乘除法”;如果熟悉;如果熟悉R进制的运算规则就采用进制的运算规则就采用“多项式替代法多项式替代法”。n有时可
11、能对有时可能对P进制与进制与R进制的运算规则都不熟悉,那么进制的运算规则都不熟悉,那么一种方便的方法就是利用十进制作桥梁。一种方便的方法就是利用十进制作桥梁。n首先将其转换为十进制,这里采用首先将其转换为十进制,这里采用“多项式替代法多项式替代法”,然后将转换为所需目标进制,这里采用然后将转换为所需目标进制,这里采用“基数乘除基数乘除法法”。1.3 二进制的算术运算与逻辑运算二进制的算术运算与逻辑运算n加法运算规则:逢二进一加法运算规则:逢二进一n减法运算规则:借一当二减法运算规则:借一当二n乘法运算规则:乘法运算规则:000,010,100,111 例如:例如:1101x1010=11011
12、10二进制的乘法可以归结为:二进制的乘法可以归结为:“加加”与与“移位移位”n除法运算:乘法的逆运算除法运算:乘法的逆运算 以二进制的乘法及减法规则实现以二进制的乘法及减法规则实现n逻辑运算:逻辑运算:或(逻辑加)、与(逻辑乘)、非(逻辑反)、异或(模或(逻辑加)、与(逻辑乘)、非(逻辑反)、异或(模2加)加)n移位运算移位运算 逻辑左移:逻辑左移:将操作数的所有位同时左移,最高位移出原操作将操作数的所有位同时左移,最高位移出原操作数之外,最低位补数之外,最低位补0。逻辑左移一位相当于无符号数乘。逻辑左移一位相当于无符号数乘2。例例如,将如,将01100101逻辑左移一位后变成逻辑左移一位后变
13、成11001010,相当于,相当于(101)102202。逻辑右移:逻辑右移:将操作数的所有位同时右移,最低位移出原操作数将操作数的所有位同时右移,最低位移出原操作数之外,最高位补之外,最高位补0。逻辑右移一位相当于将无符号数除以。逻辑右移一位相当于将无符号数除以2。例。例如,将如,将10010100逻辑右移一位后变成逻辑右移一位后变成01001010,相当于,相当于148274。n循环左移:循环左移:将操作数的所有位同时左移,并将移出的将操作数的所有位同时左移,并将移出的最高位送到最低位。循环左移的结果不会丢失被移动最高位送到最低位。循环左移的结果不会丢失被移动的数据位。例如,将的数据位。例
14、如,将10010100循环左移一位后变成循环左移一位后变成00101001。n循环右移循环右移:将操作数的所有位同时右移,并将移出的:将操作数的所有位同时右移,并将移出的最低位送到最高位。它也不会丢失被移动的数据位。最低位送到最高位。它也不会丢失被移动的数据位。例如,将例如,将10010100循环右移一位后变成循环右移一位后变成01001010。n算术移位算术移位 算术移位是把操作数当作带符号数进行移位,所以在算术移位是把操作数当作带符号数进行移位,所以在算术移位中,必须保持符号位不变算术移位中,必须保持符号位不变。否则将发生溢出。否则将发生溢出。与逻辑移位类似,算术移位可分为算术左移、算术右
15、与逻辑移位类似,算术移位可分为算术左移、算术右移、循环左移和循环右移。循环左移和循环右移的操作移、循环左移和循环右移。循环左移和循环右移的操作与前述逻辑移位时的情况相同,都是不丢失移出原操作与前述逻辑移位时的情况相同,都是不丢失移出原操作数的位,而将其返回到操作数的另一端。数的位,而将其返回到操作数的另一端。1.4 数据在计算机中的表示形式数据在计算机中的表示形式n存储原理存储原理 电子计算机实质上是一个二进制的数字系统,在机器电子计算机实质上是一个二进制的数字系统,在机器内部,二进制数总是存放在由具有两种相反状态的存储内部,二进制数总是存放在由具有两种相反状态的存储元件构成的寄存器或存储单元
16、中,即二进制数码元件构成的寄存器或存储单元中,即二进制数码0和和1是是由存储元件的两种相反状态来表示的。由存储元件的两种相反状态来表示的。另外,对于数的符号(正号另外,对于数的符号(正号“”和负号和负号“”)也只能)也只能用这两种相反的状态来区别。也就是说,只能用用这两种相反的状态来区别。也就是说,只能用0或或1来来表示。表示。1.4.1 机器数与真值机器数与真值n机器数与真值机器数与真值一个数(连同符号)在机器中加以数码化后的表示形式,一个数(连同符号)在机器中加以数码化后的表示形式,称称为为机器数机器数,而把原来的数称为机器数的,而把原来的数称为机器数的真值。真值。1.4.2 几种常见的机
17、器数形式几种常见的机器数形式n机器数形式机器数形式n原码:原码:数码序列中的最高位为符号位,符号位为数码序列中的最高位为符号位,符号位为0表示该数为正数,为表示该数为正数,为1表示该数为负数;其余有效表示该数为负数;其余有效数值部分则用二进制的绝对值表示。数值部分则用二进制的绝对值表示。例如:例如:真值x x原 0.1001 0.1001 0.1001 1.1001 1001 01001 1001 11001n0 的原码有两种表示,的原码有两种表示,以定点小数为例以定点小数为例 +0原原=0.000 0000 0原原=1.000 0000 原码表示简单直观,但运算时符号位与数值位要区原码表示简
18、单直观,但运算时符号位与数值位要区别对待,别对待,在原码表示中,符号位不是数值的一部分,在原码表示中,符号位不是数值的一部分,它们仅是人为约定(它们仅是人为约定(“0为正,为正,1为负为负”),所以符号位),所以符号位在运算过程中需要单独处理,不能当作数值的一部分在运算过程中需要单独处理,不能当作数值的一部分直接参与运算直接参与运算。n补码补码定点小数补码定义如下:定点小数补码定义如下:若定点小数的补码序列为若定点小数的补码序列为X0.X1Xn,则,则式中,式中,x 代表真值,代表真值,为补码表示的机器数为补码表示的机器数。若定点整数的补码序列为若定点整数的补码序列为 ,则,则u正数的补码是其
19、自身;正数的补码是其自身;u0的补码只有一种表示;的补码只有一种表示;u负数的补码是用模数加上该负数。负数的补码是用模数加上该负数。从原码转换为补码从原码转换为补码的变化规律为:的变化规律为:“符号位保持不变(仍为符号位保持不变(仍为1),其他各),其他各位求反,然后末位加位求反,然后末位加1”,简称,简称“求反加求反加1”。例如:例如:x0.1010,则,则x原原0.1010,x补补0.1010 x0.1010,则,则x原原1.1010,x补补1.0110 容易看出,当容易看出,当x0时,若把时,若把x补补除符号位外除符号位外“求反加求反加1”,即可得到,即可得到x原原。也就是说,对一个补码
20、表示的数,。也就是说,对一个补码表示的数,再次求补,可得该数的原码。再次求补,可得该数的原码。n反码反码定点小数反码定义如下:定点小数反码定义如下:若定点小数的若定点小数的反反码序列为码序列为X0.X1Xn ,则则式中,式中,x代表真值代表真值,x反反为补码表示的机器数为补码表示的机器数。若定点整数的补码序列为若定点整数的补码序列为 ,则,则u正数的反码是其本身,负数的反码是其对应正数求反,正数的反码是其本身,负数的反码是其对应正数求反,0的反码有两种表示,分别为全的反码有两种表示,分别为全0或者全或者全1。u反码运算规则:反码运算规则:X+Y反反=X反反+Y反反+循环进位循环进位 XY反反=
21、X反反+Y反反+循环进位循环进位如上所述,由原码表示容易得到相应的反码表示。例如:如上所述,由原码表示容易得到相应的反码表示。例如:x0.1001,x原原0.1001,x反反0.1001x0.1001,x原原1.1001,x反反1.0110n原码、反码、补码之间的转换原码、反码、补码之间的转换 转换规则如下图所示:转换规则如下图所示:n移码表示法移码表示法设定点整数移码形式为设定点整数移码形式为 ,则,则 其中其中 式中式中x为真值,为真值,x移移为其移码。为其移码。u把真值把真值x在数轴上向正方向平移在数轴上向正方向平移 单位,移码由此得单位,移码由此得名。又叫增码。名。又叫增码。u移码特点
22、:移码特点:1)移码是把真值映射到一个正数域(表中为移码是把真值映射到一个正数域(表中为0255),),因此移码的大小可以直观地反映真值的大小。无论是因此移码的大小可以直观地反映真值的大小。无论是正数还是负数,用移码表示后,可以按无符号数比较正数还是负数,用移码表示后,可以按无符号数比较大小。大小。2)移码的数值部分与相应的补码各位相同,而符号移码的数值部分与相应的补码各位相同,而符号位与补码相反。在移码中符号位为位与补码相反。在移码中符号位为0表示真值为负数,表示真值为负数,符号位为符号位为1表示真值为正数。表示真值为正数。3)移码为全移码为全0时,它对应的真值最小时,它对应的真值最小。4)
23、真值真值0在移码中的表示是唯一的,即:在移码中的表示是唯一的,即:02000010000n移1.4.3 数的定点表示与浮点表示n定点表示法定点表示法u定点小数、定点整数定点小数、定点整数n浮点表示法浮点表示法u编码格式编码格式:通常由尾数和阶码组成;其中尾数表示通常由尾数和阶码组成;其中尾数表示有效数字,阶码表示小数点位置。表示如下:有效数字,阶码表示小数点位置。表示如下:其中其中M是尾数,是尾数,R是基数(常取是基数(常取2),),E是阶码,是阶码,S是符号位。是符号位。在计算机中表示形式为:在计算机中表示形式为:其中其中S是符号位,是符号位,E是阶码,是阶码,M是尾数。是尾数。sN=(-1
24、)EMRSEMu浮点数的规格化:浮点数的规格化:不丢失数字,提高运算精度。不丢失数字,提高运算精度。1)如果阶码以)如果阶码以2为底,则规格化浮点数的尾数为底,则规格化浮点数的尾数M的的绝对值应满足:绝对值应满足:2)对于原码,)对于原码,M1=1;3)对于补码,对于补码,正数时,正数时,M1=1,负数时,负数时M1=0;“尾尾数最高位与符号位相反数最高位与符号位相反”即为判断浮点数是否为规即为判断浮点数是否为规格化数的标志格化数的标志。1M12例例 将浮点数将浮点数 转换为规格化表示。转换为规格化表示。解析:该数据为负数,符号为为解析:该数据为负数,符号为为1,尾数的补码为,尾数的补码为1.
25、1101,由规格化步骤,将尾数左移,由规格化步骤,将尾数左移2位,阶码减位,阶码减2,从,从而使小数点后第一位为而使小数点后第一位为0,规格化后为:,规格化后为:00.0011 221.01002nIEEE 754标准:标准:对浮点数的编码格式的标准化,以便于浮点数的编码格式的标准化,以便于实现不同计算机之间的软件移植。实现不同计算机之间的软件移植。其中的其中的浮点编码有浮点编码有32位、位、64位和位和80位三种格式,分别称位三种格式,分别称为短实数(为短实数(Short real)、长实数()、长实数(Long real)和临时)和临时实数(实数(Temporary real)。)。短实数
展开阅读全文