第二章数据的机器层次表示课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第二章数据的机器层次表示课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第二 数据 机器 层次 表示 课件
- 资源描述:
-
1、计算机组成原理第二章第二章 数据的机器层次表示数据的机器层次表示第二章 数据是计算机加工和处理的对象,数据数据是计算机加工和处理的对象,数据的机器层次表示将直接影响到计算机的结构的机器层次表示将直接影响到计算机的结构和性能。本章主要介绍无符号数和带符号数和性能。本章主要介绍无符号数和带符号数的表示方法、数的定点与浮点表示方法、字的表示方法、数的定点与浮点表示方法、字符和汉字的编码方法、数据校验码等。熟悉符和汉字的编码方法、数据校验码等。熟悉和掌握本章的内容,是学习计算机原理的最和掌握本章的内容,是学习计算机原理的最基本要求。基本要求。2.1 数值数据的表示2.1.1 计算机中的数值数据计算机中
2、的数值数据 在计算机中常用后缀字母来表示不同的数制。在计算机中常用后缀字母来表示不同的数制。十进制数(十进制数(D)二进制数(二进制数(B)八进制数(八进制数(Q)十六进制数(十六进制数(H)在在C语言中,八进制常数以前缀语言中,八进制常数以前缀0开始,十六开始,十六进制常数以前缀进制常数以前缀0 x开始。开始。2.1 数值数据的表示2.1.2 无符号数和带符号数无符号数和带符号数 所谓无符号数,就是整个机器字长的全部二进所谓无符号数,就是整个机器字长的全部二进制位均表示数值位(没有符号位),相当于数的绝制位均表示数值位(没有符号位),相当于数的绝对值。对值。N1=01001 表示无符号数表示
3、无符号数9 N2=11001 表示无符号数表示无符号数252.1 数值数据的表示 对于字长为对于字长为n+1位的无符号数的表示范围是位的无符号数的表示范围是0(2n+1-1)。例如:字长为例如:字长为8位,无符号数的表示位,无符号数的表示范围是范围是0255。1111111111111111000000000000000000000000111111112.1 数值数据的表示 所谓带符号数,即正、负数。在日常生活所谓带符号数,即正、负数。在日常生活中,我们用中,我们用“+”、“-”号加绝对值来表示数值号加绝对值来表示数值的大小,用这种形式表示的数值在计算机技术的大小,用这种形式表示的数值在计算
4、机技术中称为中称为“真值真值”。对于数的符号对于数的符号“+”或或“-”,计算机是无法,计算机是无法识别的,因此需要把数的符号数码化。通常,识别的,因此需要把数的符号数码化。通常,约定二进制数的最高位为符号位,约定二进制数的最高位为符号位,“0”表示正表示正号,号,“1”表示负号。这种在计算机中使用的表表示负号。这种在计算机中使用的表示数的形式称为示数的形式称为机器数机器数。2.1 数值数据的表示 对于带符号数,最高位用来表示符号位,而对于带符号数,最高位用来表示符号位,而不再表示数值位了,前例中的不再表示数值位了,前例中的N1、N2在这里变为:在这里变为:N1=01001 表示带符号数表示带
5、符号数+9 N2=11001 根据不同的机器数表示不同的值,如根据不同的机器数表示不同的值,如:原码时表示带符号数原码时表示带符号数-9,补码则表示补码则表示-7,反码则表示反码则表示-6。2.1 数值数据的表示2.1.3 原码表示法原码表示法 原码表示法是一种最简单的机器数表示法,用原码表示法是一种最简单的机器数表示法,用最高位表示符号位,符号位为最高位表示符号位,符号位为“0”表示该数为正,表示该数为正,符号位为符号位为“1”表示该数为负,数值部分与真值相同。表示该数为负,数值部分与真值相同。若真值为纯小数,它的原码形式为若真值为纯小数,它的原码形式为Xs.X1X2Xn,其中其中Xs表示符
6、号位。表示符号位。例例1:X1=0.0110,X2=-0.0110 X1原原=0.0110,X2原原=1.01102.1 数值数据的表示 若真值为纯整数,它的原码形式为若真值为纯整数,它的原码形式为XsX1X2Xn,其中,其中Xs表示符号位。表示符号位。例例2:X1=1101,X2=-1101 X1原原=0,1101,X2原原=1,1101 在原码表示中,真值在原码表示中,真值0有两种不同的表示形式:有两种不同的表示形式:+0原原=00000 -0原原=10000注意2.1 数值数据的表示 原码表示法的优点是直观易懂,机器数和真值原码表示法的优点是直观易懂,机器数和真值间的相互转换很容易,用原
7、码实现乘、除运算的间的相互转换很容易,用原码实现乘、除运算的规则很简单;缺点是实现加、减运算的规则较复规则很简单;缺点是实现加、减运算的规则较复杂。杂。2.1 数值数据的表示2.1.4 补码表示法补码表示法 为了克服原码在加、减运算中的缺点,引入为了克服原码在加、减运算中的缺点,引入了补码表示法,补码表示法的设想是:使符号位了补码表示法,补码表示法的设想是:使符号位参加运算,从而简化加减法的规则;使减法运算参加运算,从而简化加减法的规则;使减法运算转化成加法运算,从而简化机器的运算器电路。转化成加法运算,从而简化机器的运算器电路。1.模和同余模和同余 由于设备的原因,机器数是有字长限制的,由于
8、设备的原因,机器数是有字长限制的,不可能容纳无限大的任意数。当运算结果超出了不可能容纳无限大的任意数。当运算结果超出了机器的最大表示范围,就会发生溢出(丢失进机器的最大表示范围,就会发生溢出(丢失进位),此时所产生的溢出量称为模,用字母位),此时所产生的溢出量称为模,用字母M表表示。示。000024 23 22 21 202.1 数值数据的表示 模实际上是一个计量器的容量。例如:一个模实际上是一个计量器的容量。例如:一个4位的计数器,它的计数值为位的计数器,它的计数值为015,当计数器计满,当计数器计满15之后再加之后再加1,这个计数器就发生溢出,其溢出量,这个计数器就发生溢出,其溢出量为为1
9、6,也就是模等于,也就是模等于16。00010010001101000101011001111000100110101011110011011110111100001丢失丢失 一个字长为一个字长为n+1位的纯整数的溢出量为位的纯整数的溢出量为2n+1,即以,即以2n+1为模。为模。一个纯小数的溢出量为一个纯小数的溢出量为2,即以,即以2为模。为模。2.1 数值数据的表示 同余概念:同余概念:即两整数即两整数A、B除以同一正整数除以同一正整数M,所得余数相同,则称所得余数相同,则称A、B对模对模M同余同余。A=B(mod M),如,如23=13(mod10)对钟表而言,对钟表而言,M=12。假设
10、:时钟停在。假设:时钟停在8点,点,而现在正确的时间是而现在正确的时间是6点,这时拨准时钟的方法有点,这时拨准时钟的方法有两种:两种:分针倒着旋转分针倒着旋转2圈,等于分针正着旋转圈,等于分针正着旋转10圈。故有:圈。故有:-2=10(mod 12),即,即-2和和10同同余。余。2.1 数值数据的表示 8-2=8+10(mod 12)可见,只要确定了可见,只要确定了“模模”,就可找到一个与,就可找到一个与负数等价的正数(该正数即为负数的补数)来代负数等价的正数(该正数即为负数的补数)来代替此负数,而这个正数可以用模加上负数本身求替此负数,而这个正数可以用模加上负数本身求得,这样就可把减法运算
11、用加法实现了。得,这样就可把减法运算用加法实现了。9-5=9+(-5)=9+(12-5)=9+7=4(mod 12)65-25=65+(-25)=65+(100-25)=65+75=40(mod 100)将补数的概念用到计算机中,便出现了补码将补数的概念用到计算机中,便出现了补码这种机器数。这种机器数。2.1 数值数据的表示2.补码表示补码表示 补码的符号位表示方法与原码相同,其数值补码的符号位表示方法与原码相同,其数值部分的表示与数的符号有关:对于正数,数值部部分的表示与数的符号有关:对于正数,数值部分与真值形式相同;对于负数,其数值部分为真分与真值形式相同;对于负数,其数值部分为真值形式按
12、位取反,且在最低位加值形式按位取反,且在最低位加1。若真值为纯小数,它的补码形式为若真值为纯小数,它的补码形式为Xs.X1X2Xn,其中,其中Xs表示符号位。表示符号位。例例1:X1=0.0110,X2=-0.0110 X1补补=0.0110,X2补补=1.10102.1 数值数据的表示 若真值为纯整数,它的补码形式为若真值为纯整数,它的补码形式为XsX1X2Xn,其中,其中Xs表示符号位。表示符号位。例例2:X1=1101,X2=-1101 X1补补=0,1101,X2补补=1,0011 在补码表示中,真值在补码表示中,真值0的表示形式是唯一的。的表示形式是唯一的。+0补补=-0补补=000
13、00注意2.1 数值数据的表示3.由真值、原码转换为补码由真值、原码转换为补码当当X为正数时,为正数时,X补补=X原原=X。当当X为负数时,由为负数时,由X原原转换为转换为X补补的方法:的方法:X原原除掉符号位外的各位取反加除掉符号位外的各位取反加“1”。自低位向高位,尾数的第一个自低位向高位,尾数的第一个“1”及其右及其右部的部的“0”保持不变,左部的各位取反,符号位保保持不变,左部的各位取反,符号位保持不变。持不变。例如:例如:X原原=1.1110011000 X补补=1.0001101000不变不变不变不变变反变反2.1 数值数据的表示2.1.5 反码表示法反码表示法 反码的符号位表示方
14、法与原码相同,但其数值反码的符号位表示方法与原码相同,但其数值部分的表示与数的符号有关:对于正数,数值部分部分的表示与数的符号有关:对于正数,数值部分与真值形式相同;对于负数,数值部分为真值形式与真值形式相同;对于负数,数值部分为真值形式按位取反。按位取反。若真值为纯小数,它的反码形式为若真值为纯小数,它的反码形式为Xs.X1X2Xn,其中其中Xs表示符号位。表示符号位。例例1:X1=0.0110,X2=-0.0110 X1反反=0.0110 ,X2反反=1.10012.1 数值数据的表示 若真值为纯整数,它的反码形式为若真值为纯整数,它的反码形式为XsX1X2Xn,其中其中Xs表示符号位。表
15、示符号位。例例2:X1=1101,X2=-1101 X1反反=0,1101,X2反反=1,0010 在反码表示中,真值在反码表示中,真值0也有两种不同的表示形也有两种不同的表示形式:式:+0反反=00000 -0反反=11111注意2.1 数值数据的表示2.1.6 3种机器数的比较种机器数的比较 对于正数它们都等于真值本身,而对于负对于正数它们都等于真值本身,而对于负数各有不同的表示。数各有不同的表示。最高位都表示符号位,补码和反码的符号最高位都表示符号位,补码和反码的符号位可和数值位一起参加运算;但原码的符号位必位可和数值位一起参加运算;但原码的符号位必须分开进行处理。须分开进行处理。2.1
16、 数值数据的表示 对于真值对于真值0,原码和反码各有两种不同的,原码和反码各有两种不同的表示形式,而补码只有唯一的一种表示形式。表示形式,而补码只有唯一的一种表示形式。原码、反码表示的正、负数范围是对称原码、反码表示的正、负数范围是对称的;但补码负数能多表示一个最负的数(绝对值的;但补码负数能多表示一个最负的数(绝对值最大的负数),其值等于最大的负数),其值等于-2n(纯整数)或(纯整数)或-1(纯(纯小数)。小数)。注意2.1 数值数据的表示设机器字长设机器字长4 4位(含位(含1 1位符号位位符号位),以纯整数为例:),以纯整数为例:原码或反码可表示的数原码或反码可表示的数 补码可表示的数
17、(多表示一个负数)补码可表示的数(多表示一个负数)0 0+1+1+2+2+3+3+4+4+5+5+6+6+7+7-1-1-2-2-3-3-4-4-5-5-6-6-7-7+0+0-0-07个正数个正数7个负数个负数0 0+1+1+2+2+3+3+4+4+5+5+6+6+7+7-1-1-2-2-3-3-4-4-5-5-6-6-7-7-8-87个正数个正数8个负数个负数-8-82.1 数值数据的表示 真值与真值与3种机器数间的对照种机器数间的对照真值真值 X X真值真值 X X十进制十进制 二进制二进制XX 原原XX 补补XX 反反十进制十进制二进制二进制XX 原原XX 补补XX 反反+0+0+1+
18、1+2+2+3+3+4+4+5+5+6+6+7+7+8+8+000+000+001+001+010+010+011+011+100+100+101+101+110+110+111+111-0000000000010001001000100011001101000100010101010110011001110111-0-0-1-1-2-2-3-3-4-4-5-5-6-6-7-7-8-8-000-000-001-001-010-010-011-011-100-100-101-101-110-110-111-111-1000-100010001000100110011010101010111011
19、11001100110111011110111011111111-0000000011111111111011101101110111001100101110111010101010011001100010001111111111101110110111011100110010111011101010101001100110001000-100010001000100010001000-8-8-8-8-8-8100010001000100010001000-0-0-0-0-0-0100010001000100010001000-7-7-7-7-7-72.1 数值数据的表示 如果已知机器的字长,
20、则机器数的位数应补够如果已知机器的字长,则机器数的位数应补够相应的位。设机器字长为相应的位。设机器字长为8位,则:位,则:X1=1011 X2=-1011 X1原原=0,0001011 X2原原=1,0001011 X1补补=0,0001011 X2补补=1,1110101 X1反反=0,0001011 X2反反=1,1110100 X1=0.1011 X2=-0.1011 X1原原=0.1011000 X2原原=1.1011000 X1补补=0.1011000 X2补补=1.0101000 X1反反=0.1011000 X2反反=1.01001112.2 机器数的定点表示与浮点表示 2.2.
21、1 定点表示法定点表示法 在定点表示法中约定:所有数据的小数点位在定点表示法中约定:所有数据的小数点位置固定不变。通常,把小数点固定在有效数位的置固定不变。通常,把小数点固定在有效数位的最前面或末尾,这就形成了两类定点数。最前面或末尾,这就形成了两类定点数。1.定点小数定点小数 小数点的位置固定在最高有效数位之前,符小数点的位置固定在最高有效数位之前,符号位之后,记作号位之后,记作Xs.X1X2Xn,这个数是一个纯小,这个数是一个纯小数。定点小数的小数点位置是隐含约定的,小数数。定点小数的小数点位置是隐含约定的,小数点并不需要真正地占据一个二进制位。点并不需要真正地占据一个二进制位。2 20
22、0 2 2-1 -1 2 2-2 -2 2 2-(n-1)-(n-1)2 2-n-n2.2 机器数的定点表示与浮点表示 当当Xs=0,X1Xn=1时,时,X为最大正数,即:为最大正数,即:X最大正数最大正数=(1-2-n)。1 1最大正数最大正数1 11 11 10 0定点小数格式定点小数格式小数点位置小数点位置X Xs sX X1 1X Xn nX X2 2X Xn-1n-12 20 0 2 2-1 -1 2 2-2 -2 2 2-(n-1)-(n-1)2 2-n-n注意2 20 0 2 2-1 -1 2 2-2 -2 2 2-(n-1)-(n-1)2 2-n-n2.2 机器数的定点表示与浮
23、点表示 最小正数最小正数0 00 01 10 00 0定点小数格式定点小数格式小数点位置小数点位置X Xs sX X1 1X Xn nX X2 2X Xn-1n-12 20 0 2 2-1 -1 2 2-2 -2 2 2-(n-1)-(n-1)2 2-n-n 当当Xn=1,XsXn-1=0时,时,X为最小正数,为最小正数,即:即:X最小正数最小正数=2-n。注意2.2 机器数的定点表示与浮点表示 当当Xs=1,表示,表示X为负数,此时情况要稍微复杂为负数,此时情况要稍微复杂一些,这是因为在计算机中带符号数可用补码表一些,这是因为在计算机中带符号数可用补码表示,也可用原码表示。如前所述,原码与补
24、码所示,也可用原码表示。如前所述,原码与补码所能表示的绝对值最大的负数是有区别的,所以原能表示的绝对值最大的负数是有区别的,所以原码和补码的表示范围有一些差别。码和补码的表示范围有一些差别。2 20 0 2 2-1 -1 2 2-2 -2 2 2-(n-1)-(n-1)2 2-n-n2 20 0 2 2-1 -1 2 2-2 -2 2 2-(n-1)-(n-1)2 2-n-n2.2 机器数的定点表示与浮点表示 原码表示的绝原码表示的绝对值最大负数对值最大负数11111 X绝对值最大负数绝对值最大负数(原码表示时)原码表示时)=-(1-2-n)补码表示的绝补码表示的绝对值最大负数对值最大负数10
25、000X绝对值最大负数(补码表示时)绝对值最大负数(补码表示时)=-1注意 综上所述:综上所述:若机器字长有若机器字长有n+1位,则:位,则:原码定点小数表示范围为:原码定点小数表示范围为:-(1-2-n)(1-2-n)补码定点小数表示范围为:补码定点小数表示范围为:-1(1-2-n)若机器字长有若机器字长有8位,则:位,则:原码定点小数表示范围为:原码定点小数表示范围为:-(1-2-7)(1-2-7)补码定点小数表示范围为:补码定点小数表示范围为:-1(1-2-7)2.2 机器数的定点表示与浮点表示 2 2n n 2 2n-1 n-1 2 2n-2 n-2 2 21 1 2 20 02.2
展开阅读全文