计算机组成原理:2-3 数据的机器层次表示_第1页
计算机组成原理:2-3 数据的机器层次表示_第2页
计算机组成原理:2-3 数据的机器层次表示_第3页
计算机组成原理:2-3 数据的机器层次表示_第4页
计算机组成原理:2-3 数据的机器层次表示_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、复习思考题31. 若xy,则x原 y原 。 ( )2. 若xy,则x补 y补 。 ( )3. 若x原=10000000,则x=_(十进制)4. 若x反=10000000,则x=_(十进制)5. 若x补=10000000,则x=_(十进制)设字长为设字长为8 8位的整数。位的整数。第2章 数据的机器层次表示2.1 数值数据的表示2.2 机器数的定点表示与浮点表示2.3 非数值数据的表示2.4 十进制数和数串的表示2.5 现代微型计算机系统中的数据表示举例2.6 数据校验码信息数值数据数值数据非数值数据非数值数据-无符号数无符号数-有符号数有符号数浮点数浮点数定点数定点数十进制数十进制数定点整数定

2、点整数定点小数定点小数原码原码补码补码反码反码移码移码正整数正整数字符、汉字等字符、汉字等常用信息分类及表示定点表示法的特点n所要求的处理硬件比较简单,n但容许的数值范围有限,容易产生溢出:n溢出溢出 是计算机运算结果超出字长所表示范围的现是计算机运算结果超出字长所表示范围的现象,它使计算机的运算发生错误。象,它使计算机的运算发生错误。n为扩大定点数的表示范围,可采取措施:n用多个字来表示一个数用多个字来表示一个数多字节技术多字节技术n采用类似科学记数法来表示一个数采用类似科学记数法来表示一个数浮点表浮点表示法示法 计算机中一个任意进制数 可以写成 M r E M:尾数,是一个纯小数。 E :

3、浮点的指数, 是一个整数。 r :基数,对于二进计数值的机器是一个常数, 一般规定 r 为2,8或16。 0.0000000009 =9.0 10-10300000000 = 3.0 108 任意一个十进制数 可以写成 N = M 10E浮点表示法定点数格式定点数格式一个机器浮点数由一个机器浮点数由阶码阶码和和尾数尾数及其及其符号符号位组成:位组成:n尾数(M): 用定点小数表示,给出有效数字的位数,决定了浮点数的表示精度;n阶码(E): 用定点整数形式表示,指明小数点在数据中的位置,决定了浮点数的表示范围。浮点表示法 M 2Eesemms阶码部分阶码部分E尾数部分尾数部分MK位位N位位 1位

4、位1位位设用设用补码补码表示表示 设用设用补码补码表示表示阶码部分阶码部分E尾数部分尾数部分Mesms2-1 2-(n-1) 2-n2k-1 20浮点数的表示范围最大正数 n 当当es=0,ms=0,阶码和尾数的数值位各位全为,阶码和尾数的数值位各位全为1(即(即阶码和尾数都为最大正数阶码和尾数都为最大正数)时,该浮点数为)时,该浮点数为最大正数最大正数。0011111X最大正数最大正数=(1 2n)22k 1注意注意 M 2E1 2n2k1阶码部分阶码部分E尾数部分尾数部分Mesms2-1 2-(n-1) 2-n2k-1 20浮点数的表示范围最小正数n当当es=1,ms=0,尾数的最低位,尾

5、数的最低位mn=1,其余,其余各位为各位为0(即(即阶码为绝对值最大负数,尾数阶码为绝对值最大负数,尾数为最小正数为最小正数)时,该浮点数为)时,该浮点数为最小正数最小正数。1100000X最小正数最小正数=2 n22k注意注意2n2k M 2E阶码部分阶码部分E尾数部分尾数部分Mesms2-1 2-(n-1) 2-n2k-1 20浮点数的表示范围绝对值最大负数绝对值最大负数n 当当es=0,阶码的数值位为全阶码的数值位为全1;ms=1,尾数的数,尾数的数值位为全值位为全0(即(即阶码为最大正数,尾数为绝对值阶码为最大正数,尾数为绝对值最大的负数最大的负数)时,该浮点数为)时,该浮点数为绝对值

6、最大负数。绝对值最大负数。 1110000X绝对值最大负数绝对值最大负数= 122k 1注意注意12k1 M 2E浮点数的规格化n 规格化目的n提高数据的表示精度提高数据的表示精度n数据表示的唯一性数据表示的唯一性n 尾数为 r 进制的规格化:规定规定尾数的最高数位必须是一尾数的最高数位必须是一个有效值个有效值。 |M| 1正数正数 0.1xxxxxx负数负数 1.0 xxxxxx正数正数 0.1xxxxxx负数负数 1.1xxxxxx补码补码尾数的规格化的表现形式:尾数的规格化的表现形式:尾数的最高数值位与符号位相反尾数的最高数值位与符号位相反原码原码尾数的规格化的表现形式:尾数的规格化的表

7、现形式: 尾数的最高数值位尾数的最高数值位=1其他位不能全为其他位不能全为0 0阶码部分阶码部分E尾数部分尾数部分Mesms2-1 2-(n-1) 2-n2k-1 20阶码部分阶码部分E尾数部分尾数部分Mesms2-1 2-(n-1) 2-n2k-1 20规格化浮点数的表示范围 X规格化的最小正数规格化的最小正数00011111 X规格化的绝对值最小负数规格化的绝对值最小负数01000100注意注意注意注意=212 2k=(21+2n)22k浮点数的表示范围上溢、下溢和机器零n上溢n当一个数的阶码当一个数的阶码 机器机器最大阶码最大阶码时,为上溢。时,为上溢。n下溢n当一个数的阶码当一个数的阶

8、码 y,则,则x移移 y移移 。 阶码大的,其对应的真值就大;阶码小的,对应的真阶码大的,其对应的真值就大;阶码小的,对应的真值就小。值就小。n简化机器中的判零电路。简化机器中的判零电路。n当阶码为最小、尾数全为当阶码为最小、尾数全为0时,表示时,表示机器零机器零。注意注意阶码部分阶码部分E尾数部分尾数部分Mesms2-1 2-(n-1) 2-n2k-1 200000000 (移码移码) (补码补码)实用浮点数举例 n 大多数计算机的浮点数采用大多数计算机的浮点数采用IEEE 754标准,其格标准,其格式如下,式如下,n IEEE754标准中有三种形式的浮点数。标准中有三种形式的浮点数。msE

9、m类型类型 数符数符ms 阶码阶码 E 尾数尾数 m 总位数总位数 偏偏置值置值 短浮点数短浮点数 1 8 23 32 7FH 127 长浮点数长浮点数 1 11 52 64 3FFH 1023 临时浮点数临时浮点数 1 15 64 80 3FFFH 16383 n规定n基数基数R为为2n符号位符号位ms用用0和和1分别表示正和负分别表示正和负n尾数尾数M用用原码原码表示,表示,阶码阶码E用用移码移码表示表示 M 2E移码移码原码原码n 单精度格式(32位)n尾数尾数(m)23位位,是纯小数,小数点放在尾数域的最前面,是纯小数,小数点放在尾数域的最前面n既然既然非非 0 值浮点数的尾数数值最高

10、位必定为值浮点数的尾数数值最高位必定为 1n由此,该标准由此,该标准约定这一位不予存储,而是认为隐藏在约定这一位不予存储,而是认为隐藏在小数点的左边小数点的左边n因此,因此,尾数域所表示的值是尾数域所表示的值是1.m(实际存储的是(实际存储的是m!)!)n这样可这样可使尾数的表示范围比实际存储多一位使尾数的表示范围比实际存储多一位。浮点数的IEEE-754标准ms E m31 30 23 22 032位位阶码阶码E用用移码移码来来表表示示,即将指数即将指数e 加上加上一一个偏置值后作个偏置值后作为为该数的阶码该数的阶码真值表示:真值表示:X = (-1)ms (1.m) 2E-127(e =

11、E-127)0.1100010 1.100010例1:将(100.25)10转换成浮点数格式8位阶码,24位尾数,均用补码表示 十进制数十进制数 二进制数二进制数 (100.25)10=(1100100.01)2 非规格化数非规格化数 规格化数规格化数 1100100.01=0.1100100012+7 阶码的表示:阶码的表示:+7补补=00000111 以浮点数格式存储该数:以浮点数格式存储该数: 符号位符号位=0 阶码阶码=00000111 尾尾 数数=11001000100000000000000 浮点数浮点数代码为:代码为: 0 000 0011 1 110 0100 0100 000

12、0 0000 000003E44000十六进制代码:十六进制代码:03E44000H31 30 23 22 0例2:将(100.25)10转换成IEEE短浮点数格式 十进制数十进制数 二进制数二进制数 (100.25)10=(1100100.01)2 非规格化非规格化数数 规格化数规格化数 1100100.01=1.100100012+6 计算移码表示的阶码(偏置值阶码真值)计算移码表示的阶码(偏置值阶码真值) 01111111+110=10000101 以短浮点数格式存储该数:以短浮点数格式存储该数: 符号位符号位=0 阶码阶码=10000101 尾数尾数=10010001000000000

13、000000 短浮点数代码为:短浮点数代码为: X = (-1)ms (1.m) 2E-127e = E-1270 100 0010 1 100 1000 1000 0000 0000 000042C88000十六进制的代码:十六进制的代码:42C88000H例3: 把IEEE短浮点数C1C90000H 转换成为十进制数 十六进制十六进制 二进制形式,并分离出符号位、阶码和尾数。二进制形式,并分离出符号位、阶码和尾数。 计算出阶码真值(移码偏置值)计算出阶码真值(移码偏置值) 10000011 1111111=100 以规格化二进制数形式写出此数:以规格化二进制数形式写出此数:1.100100

14、124 写成非规格化二进制数形式:写成非规格化二进制数形式: 11001.001 转换成十进制数,并加上符号位:转换成十进制数,并加上符号位: (11001.001)2=(25.125)10 所以,该浮点数是所以,该浮点数是 -25.125D阶码阶码符号位符号位尾数尾数X = (-1)ms (1.m) 2E-127e = E-1271 100 0001 1 100 1001 0000 0000 0000 0000C 1 C 9 0 0 0 0定点表示法与浮点表示法的区别n 数值的表示范围n相同位数下,浮点表示法的表示范围远远大于定点数。相同位数下,浮点表示法的表示范围远远大于定点数。n但定点数在数轴上分布均匀,而浮点数分布不均匀。但定点数在数轴上分布均匀,而浮点数分布不均匀。n 精度n 浮点数虽然扩大了数的表示范围,但这正是以降低精浮点数虽然扩大了数的表示范围,但这正是以降低精度为代价的,也就是数轴上各点的排列更稀疏了度为代价的,也就是数轴上各点的排列更稀疏了。n 数的运算 浮点运算要比定点运算复杂得多。n 溢出处理n定点数的运算定点数的运算结果超出数的表示范围,就发生溢出结果超出数的表示范围,就发生溢出。n而而浮点运算结果浮点运算结果超出尾数的表示范围却并不一定超出尾数的表示范围却并不一定溢出。溢出。2n 2n+1 2n+2 2n

温馨提示

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

评论

0/150

提交评论