书签 分享 收藏 举报 版权申诉 / 121
上传文档赚钱

类型第二章数据的机器层次表示课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4315785
  • 上传时间:2022-11-29
  • 格式:PPT
  • 页数:121
  • 大小:1.11MB
  • 【下载声明】
    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

    26、机器数的定点表示与浮点表示 2.定点整数定点整数 小数点位置隐含固定在最低有效数位之后,小数点位置隐含固定在最低有效数位之后,记作记作XsX1X2Xn,这个数是一个纯整数。,这个数是一个纯整数。定点整数格式定点整数格式小数点位置小数点位置X Xs sX X1 1X Xn nX X2 22 2n n 2 2n-1 n-1 2 2n-2 n-2 2 20 01 1最大正数最大正数1 11 11 10 0X最大正数最大正数=(2n-1)注意2 2n n 2 2n-1 n-1 2 2n-2 n-2 2 21 1 2 20 02 2n n 2 2n-1 n-1 2 2n-2 n-2 2 21 1 2 2

    27、0 02 2n n 2 2n-1 n-1 2 2n-2 n-2 2 21 1 2 20 02.2 机器数的定点表示与浮点表示X绝对值最大负数(原码表示时)绝对值最大负数(原码表示时)=-(2n-1)最小正数最小正数0 00 01 10 00 0X最小正数最小正数=1X绝对值最大负数(补码表示时)绝对值最大负数(补码表示时)=-2n原码表示的绝原码表示的绝对值最大负数对值最大负数11111补码表示的绝补码表示的绝对值最大负数对值最大负数10000注意注意 综上所述:综上所述:若机器字长有若机器字长有n+1位,则:位,则:原码定点整数的表示范围为:原码定点整数的表示范围为:-(2n-1)(2n-1

    28、)补码定点整数的表示范围为:补码定点整数的表示范围为:-2n(2n-1)若机器字长有若机器字长有8位,则:位,则:原码定点整数表示范围为:原码定点整数表示范围为:-127127补码定点整数表示范围为:补码定点整数表示范围为:-1281272.2 机器数的定点表示与浮点表示 2.2 机器数的定点表示与浮点表示 2.2.2 浮点表示法浮点表示法 小数点的位置根据需要而浮动,这就是浮点小数点的位置根据需要而浮动,这就是浮点数。例如:数。例如:N=MrE 式中:式中:r为浮点数阶码的底,与尾数的基为浮点数阶码的底,与尾数的基数相同,通常数相同,通常r=2。E和和M都是带符号数,都是带符号数,E叫叫做阶

    29、码,做阶码,M叫做尾数。在大多数计算机中,尾叫做尾数。在大多数计算机中,尾数为纯小数,常用原码或补码表示;阶码为纯数为纯小数,常用原码或补码表示;阶码为纯整数,常用移码或补码表示。整数,常用移码或补码表示。=M2E2.2 机器数的定点表示与浮点表示 浮点数的一般格式:浮点数的一般格式:浮点数的底是隐含的,在整个机器数中浮点数的底是隐含的,在整个机器数中不出现。阶码的符号位为不出现。阶码的符号位为es,阶码的大小反映,阶码的大小反映了在数了在数N中小数点的实际位置;尾数的符号位中小数点的实际位置;尾数的符号位为为ms,它是整个浮点数的符号位,反映了该,它是整个浮点数的符号位,反映了该浮点数的正负

    30、。浮点数的正负。假设阶码和尾数部分均用补码表示。假设阶码和尾数部分均用补码表示。e es se em mm ms s阶码部分阶码部分E E尾数部分尾数部分M MK位位N位位1位位1位位阶码部分阶码部分E E尾数部分尾数部分M Mesms2 2-1 -1 2 2-(n-1)-(n-1)2 2-n-n2 2k-1 k-1 2 20 02.2 机器数的定点表示与浮点表示00111111.浮点数的表示范围浮点数的表示范围 当当es=0,ms=0,阶码和尾数的数值位各位全为,阶码和尾数的数值位各位全为1(即阶码和尾数都为最大正数)时,该浮点数为(即阶码和尾数都为最大正数)时,该浮点数为最大正数。最大正数

    31、。X最大正数最大正数=(1-2-n)22k-1注意阶码部分阶码部分E E尾数部分尾数部分M Mesms2 2-1 -1 2 2-(n-1)-(n-1)2 2-n-n2 2k-1 k-1 2 20 02.2 机器数的定点表示与浮点表示 当当es=1,ms=0,尾数的最低位,尾数的最低位mn=1,其余各,其余各位为位为0(即阶码为绝对值最大负数,尾数为最小(即阶码为绝对值最大负数,尾数为最小正数)时,该浮点数为最小正数。正数)时,该浮点数为最小正数。1100000X最小正数最小正数=2-n2-2k注意阶码部分阶码部分E E尾数部分尾数部分M Mesms2 2-1 -1 2 2-(n-1)-(n-1

    32、)2 2-n-n2 2k-1 k-1 2 20 02.2 机器数的定点表示与浮点表示 当当es=0,阶码的数值位为全,阶码的数值位为全1;ms=1,尾数的,尾数的数值位为全数值位为全0(即阶码为最大正数,尾数为绝对值(即阶码为最大正数,尾数为绝对值最大的负数)时,该浮点数为绝对值最大负数。最大的负数)时,该浮点数为绝对值最大负数。1110000X绝对值最大负数绝对值最大负数=-122k-1注意2.2 机器数的定点表示与浮点表示 2.规格化的浮点数规格化的浮点数 为了提高运算的精度,需要充分地利用尾数为了提高运算的精度,需要充分地利用尾数的有效数位,通常采取规格化的浮点数形式,即的有效数位,通常

    33、采取规格化的浮点数形式,即规定规定尾数的最高数位必须是一个有效值尾数的最高数位必须是一个有效值。1/r|M|1 如果如果r=2,则有,则有1/2|M|1。2.2 机器数的定点表示与浮点表示 在尾数用原码表示时,规格化浮点数的尾数在尾数用原码表示时,规格化浮点数的尾数的最高数位总等于的最高数位总等于1。在尾数用补码表示时,规在尾数用补码表示时,规格化浮点数应满足格化浮点数应满足尾数最高数位与符号位不同尾数最高数位与符号位不同(ms m1=1),即当),即当1/2M1时,应有时,应有0.1xxx形式,当形式,当-1M-1/2时,应有时,应有1.0 xxx形式。需要注意的是当形式。需要注意的是当M=

    34、-1/2,对于原码来说,对于原码来说,是规格化数,而对于补码来说,不是规格化数;是规格化数,而对于补码来说,不是规格化数;当当M=-1时,对于原码来说,时,对于原码来说,这将无法表示,这将无法表示,而而对于补码来说,这是一个规格化数。对于补码来说,这是一个规格化数。阶码部分阶码部分E E尾数部分尾数部分M Mesms2 2-1 -1 2 2-(n-1)-(n-1)2 2-n-n2 2k-1 k-1 2 20 0阶码部分阶码部分E E尾数部分尾数部分M Mesms2 2-1 -1 2 2-(n-1)-(n-1)2 2-n-n2 2k-1 k-1 2 20 02.2 机器数的定点表示与浮点表示 X

    35、规格化的最小正数规格化的最小正数=2-12-2k00011111 X规格化的绝对值最小负数规格化的绝对值最小负数=-(2-1+2-n)2-2k01000100注意注意2.2 机器数的定点表示与浮点表示 2.2 机器数的定点表示与浮点表示 2.2.3 浮点数阶码的移码表示法浮点数阶码的移码表示法 移码就是在真值移码就是在真值X上加一个常数(偏置值),上加一个常数(偏置值),相当于相当于X在数轴上向正方向平移了一段距离,这在数轴上向正方向平移了一段距离,这就是就是“移码移码”一词的来由,移码也可称为增码或一词的来由,移码也可称为增码或偏码。偏码。X移移=偏置值偏置值+X 字长字长n+1位定点整数的

    36、移码形式为位定点整数的移码形式为X0X1X2Xn。2.2 机器数的定点表示与浮点表示 最常见的移码的偏置值为最常见的移码的偏置值为2n。当字长。当字长8位时,位时,偏置值为偏置值为27。例例1:X=1011101 X移移=27+X=10000000+1011101=11011101 X补补=01011101 例例2:X=-1011101 X移移=27+X=10000000-1011101=00100011 X补补=10100011 2.2 机器数的定点表示与浮点表示 2.2 机器数的定点表示与浮点表示偏置值为偏置值为2n的移码的移码具有以下特点:具有以下特点:在移码中,最高位为在移码中,最高位

    37、为“0”表示负数,最高表示负数,最高位为位为“1”表示正数。表示正数。移码为全移码为全0时,它所对应的真值最小,为时,它所对应的真值最小,为全全1时,它所对应的真值最大。时,它所对应的真值最大。真值真值0在移码中的表示形式是唯一的,即在移码中的表示形式是唯一的,即+0移移=-0移移=1000。移码把真值映射到一个正数域,所以可将移码把真值映射到一个正数域,所以可将移码视为无符号数,直接按无符号数规则比较大移码视为无符号数,直接按无符号数规则比较大小。小。2.2 机器数的定点表示与浮点表示 同一数值的移码和补码除最高位相反外,同一数值的移码和补码除最高位相反外,其他各位相同。其他各位相同。浮点数

    38、的阶码常采用移码表示最主要的原因有:浮点数的阶码常采用移码表示最主要的原因有:便于比较浮点数的大小。阶码大的,其对应的便于比较浮点数的大小。阶码大的,其对应的真值就大,阶码小的,对应的真值就小。真值就大,阶码小的,对应的真值就小。简化机器中的判零电路。当阶码全为简化机器中的判零电路。当阶码全为0,尾数,尾数也全为也全为0时,表示机器零。时,表示机器零。注意2.2 机器数的定点表示与浮点表示 2.2.4 定点定点/浮点表示法与定点浮点表示法与定点/浮点计算机浮点计算机1.定点定点/浮点表示法的区别浮点表示法的区别 假设定点数和浮点数的字长相同。假设定点数和浮点数的字长相同。(1)数值的表示范围数

    39、值的表示范围 浮点表示法所能表示的数值范围将远远大浮点表示法所能表示的数值范围将远远大于定点数。于定点数。2.2 机器数的定点表示与浮点表示 应当注意的有两点:应当注意的有两点:v不管定点数还是浮点数,每个数值都对应于数不管定点数还是浮点数,每个数值都对应于数轴上的一个点。所谓数的表示范围实际上指的轴上的一个点。所谓数的表示范围实际上指的只是数的上、下限,它们之间是一些不连续的只是数的上、下限,它们之间是一些不连续的点,而不是一段连续的区间。点,而不是一段连续的区间。v对于定点数而言,各个点在数轴上的分布是均对于定点数而言,各个点在数轴上的分布是均匀的;而对于浮点数而言,各个点在数轴上的匀的;

    40、而对于浮点数而言,各个点在数轴上的分布是不均匀的,越靠近数轴的原点,两个相分布是不均匀的,越靠近数轴的原点,两个相邻数之间的距离就越近。邻数之间的距离就越近。2.2 机器数的定点表示与浮点表示 (2)精度精度 浮点数虽然扩大了数的表示范围,但这正浮点数虽然扩大了数的表示范围,但这正是以降低精度为代价的,也就是数轴上各点的是以降低精度为代价的,也就是数轴上各点的排列更稀疏了。排列更稀疏了。2.2 机器数的定点表示与浮点表示 (3)数的运算数的运算 浮点运算要比定点运算复杂得多。浮点运算要比定点运算复杂得多。(4)溢出处理溢出处理 在定点运算时,当运算结果超出数的表示在定点运算时,当运算结果超出数

    41、的表示范围,就发生溢出。而在浮点运算时,运算结范围,就发生溢出。而在浮点运算时,运算结果超出尾数的表示范围却并不一定溢出,只有果超出尾数的表示范围却并不一定溢出,只有当阶码超出所能表示的范围时,才发生溢出。当阶码超出所能表示的范围时,才发生溢出。2.2 机器数的定点表示与浮点表示2.定点机与浮点机定点机与浮点机 并不是所有的计算机都具有浮点运算功能,通并不是所有的计算机都具有浮点运算功能,通常可以分为几档:常可以分为几档:(1)定点机定点机 以定点运算为主,浮点运算是通过软件来实现以定点运算为主,浮点运算是通过软件来实现的。的。(2)定点机浮点运算部件定点机浮点运算部件 浮点运算部件(浮点运算

    42、部件(FPU)是专门用于对浮点数进)是专门用于对浮点数进行运算的部件。行运算的部件。(3)浮点机浮点机 具有浮点运算指令和基本的浮点运算器。具有浮点运算指令和基本的浮点运算器。2.2 机器数的定点表示与浮点表示 2.2.5 实用浮点数举例实用浮点数举例 大多数计算机的浮点数采用大多数计算机的浮点数采用IEEE 754标准,其标准,其格式如下,格式如下,IEEE754标准中有三种形式的浮点数。标准中有三种形式的浮点数。msEm类型类型 数符数符 m ms s 阶码阶码 E E 尾数尾数 m m 总位数总位数 偏偏置值置值 短浮点数短浮点数 1 1 8 8 2323 3232 7FH7FH 127

    43、127 长浮点数长浮点数 1 1 1111 5252 6464 3FFH3FFH 10231023 临时浮点数临时浮点数 1 1 1515 6464 8080 3FFFH3FFFH 1638316383 2.2 机器数的定点表示与浮点表示 以短浮点数为例讨论浮点代码与其真值之间以短浮点数为例讨论浮点代码与其真值之间的关系。最高位为数符位;其后是的关系。最高位为数符位;其后是8位阶码,以位阶码,以2为底,阶码的偏置值为为底,阶码的偏置值为127;其余;其余23位是尾数。为位是尾数。为了使尾数部分能表示更多一位的有效值,了使尾数部分能表示更多一位的有效值,IEEE754采用采用隐含尾数最高数位隐含

    44、尾数最高数位1(即这一位(即这一位1不不表示出来)的方法,因此尾数实际上是表示出来)的方法,因此尾数实际上是24位。应位。应注意的是,注意的是,隐含的隐含的1是一位整数(即位权为是一位整数(即位权为20),在浮点格式中表示出来的在浮点格式中表示出来的23位尾数是纯小数,并位尾数是纯小数,并用原码表示。用原码表示。2.2 机器数的定点表示与浮点表示 例例1:将:将(100.25)10转换成短浮点数格式。转换成短浮点数格式。十进制数十进制数二进制数二进制数 (100.25)10=(1100100.01)2 非规格化数非规格化数规格化数规格化数 1100100.01=1.1001000126 计算移

    45、码表示的阶码(偏置值阶码真值)计算移码表示的阶码(偏置值阶码真值)1111111+110=10000101 以短浮点数格式存储该数。以短浮点数格式存储该数。符号位符号位=0 阶码阶码=10000101 尾数尾数=100100010000000000000002.2 机器数的定点表示与浮点表示 短浮点数代码为短浮点数代码为 0;100 0010 1;100 1000 1000 0000 0000 0000 表示为十六进制的代码:表示为十六进制的代码:42C88000H。例例2:把短浮点数:把短浮点数C1C90000H转换成为十进制数。转换成为十进制数。十六进制十六进制二进制形式,并分离出符号位、

    46、阶码二进制形式,并分离出符号位、阶码和尾数。和尾数。C1C90000H=1;10000011;10010010000000000000000阶码阶码符号位符号位尾数尾数2.2 机器数的定点表示与浮点表示 计算出阶码真值(移码偏置值)计算出阶码真值(移码偏置值)10000011-1111111=100 以规格化二进制数形式写出此数以规格化二进制数形式写出此数 1.100100124 写成非规格化二进制数形式写成非规格化二进制数形式 11001.001 转换成十进制数,并加上符号位。转换成十进制数,并加上符号位。(11001.001)2=(25.125)10 所以,该浮点数所以,该浮点数=-25.

    47、1252.3 非数值数据的表示 2.3.1 字符和字符串的表示方法字符和字符串的表示方法1.ASCII字符编码字符编码 常见的常见的ASCII码用七位二进制表示一个字符,码用七位二进制表示一个字符,它包括它包括10个十进制数字(个十进制数字(09)、)、52个英文大写个英文大写和小写字母(和小写字母(AZ,az)、)、34个专用符号和个专用符号和32个控制符号,共计个控制符号,共计128个字符。个字符。在在ASCII码表中,数字和英文字母都是按顺码表中,数字和英文字母都是按顺序排列的,只要知道其中一个的二进制代码,不序排列的,只要知道其中一个的二进制代码,不要查表就可以推导出其他数字或字母的二

    48、进制代要查表就可以推导出其他数字或字母的二进制代码。码。2.3 非数值数据的表示2.3 非数值数据的表示2.字符串的存放字符串的存放 字符串是指一串连续的字符。例如,字符串字符串是指一串连续的字符。例如,字符串IF X0 THEN READ(C)。向量法向量法 在存储器中占用一片连续的空间,每个字节在存储器中占用一片连续的空间,每个字节存放一个字符代码,字符串的所有元素(字符)存放一个字符代码,字符串的所有元素(字符)在物理上是邻接的。在字长为在物理上是邻接的。在字长为32位的存储器,每位的存储器,每一个主存单元可存放一个主存单元可存放4个字符,整个字符串需个字符,整个字符串需5个个主存单元。

    49、在每个字节中实际存放的是相应字符主存单元。在每个字节中实际存放的是相应字符的的ASCII码。码。IFX0THENREA(C)D2.3 非数值数据的表示5449462020202030454541444852433E2928584E2.3 非数值数据的表示串表法串表法 一个存储单元有一个存储单元有32位,仅存放一个字符代码。位,仅存放一个字符代码。字符串的每个字符代码后有一个链接字,用以指字符串的每个字符代码后有一个链接字,用以指出下一个字符的存储单元地址。串表法不要求串出下一个字符的存储单元地址。串表法不要求串中的各个字符在物理上相邻,在对字符串进行删中的各个字符在物理上相邻,在对字符串进行删

    50、除和插入操作时,只需修改相应字符代码后面的除和插入操作时,只需修改相应字符代码后面的链接字即可。链接字即可。由于链接字占据了存储单元的大部分空间,由于链接字占据了存储单元的大部分空间,使得主存的有效利用率下降(只有原来的使得主存的有效利用率下降(只有原来的25)。)。上例中整个字符串需上例中整个字符串需19个主存单元。个主存单元。2.3 非数值数据的表示2.3.2 汉字的表示汉字的表示1.汉字国标码汉字国标码 GB2312-80,简称国标码。该标准共收集常,简称国标码。该标准共收集常用汉字用汉字6763个,其中一级汉字个,其中一级汉字3755个,按拼音排个,按拼音排序;二级汉字序;二级汉字30

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第二章数据的机器层次表示课件.ppt
    链接地址:https://www.163wenku.com/p-4315785.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库