




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/7/6,1,2.3 机器数的定点与浮点表示,2020/7/6,2,2.3 机器数的定点与浮点表示,一、定点表示 定点数:小数点位置隐含地固定 定点小数 原码表示数据的范围是: -(1-2-n) x1-2-n 补码表示数据的范围是: 1x1-2-n 定点整数 原码表示范围: -(2n 1) X 2n 1 补码表示范围: -2n X 2n -1 超出表示范围溢出 上溢:大于最大值溢出 下溢:小于最小值机器0(其值趋于零),2020/7/6,3,用定点数进行运算处理的计算机被称为定点机。 定点计算机中,选择合适的比例因子很重要,比例因子选择不当,往往会使运算产生溢出或降低数据的精度。,20
2、20/7/6,4,2.3 机器数的定点与浮点表示,二、浮点表示(小数点位置不固定) 19991.999 103 199.9 101 19.99 102 1011.1101B=0.10111101 2100 =0.0010111101 2110 =10111.101 2-1 N = JE M 1. 基本格式,浮点数表示:Es,E1 Em ; Ms . M1 Mn,2020/7/6,5,浮点数表示:Es,E1 Em ; Ms . M1 Mn Ms:数的符号位 ,用0表示正数,用1表示负数 M:浮点数的尾数部分,用定点小数形式表示 E:浮点数的阶码部分,为整数,用移码表示 尾数:有效数字的精度(n位
3、) 阶码:数的表示范围(m位) 要保证浮点数既有足够大的数值范围,又有所要求的精度,就要合理选择m,n,2.3 机器数的定点与浮点表示,2020/7/6,6,1011.1101B=0.10111101 2100 =0.0010111101 2110 = 1011.1101 原0,100;0.10111101 0,110;0.0010111101 问题:若不对浮点数作约束,则同一数据的编码表示不唯一 解决:浮点数的规格化,2.3 机器数的定点与浮点表示,2020/7/6,7,2. 浮点数的规格化 当尾数的值不为0时,其绝对值应大于等于0.5,即|M|0.5。而尾数又为定点小数,即|M|1,故0.
4、5|M|1。 如:1011.1101 原0,100;0.10111101为规格化浮点数 而1011.1101 原0,110;0.0010111101非规格化 -必须通过左移尾数并同时修改阶码使其变为规格化的浮点数,这种操作被称为浮点数的规格化处理。 要满足0.5|M|1, 原码表示:尾数最高位为1,即Ms.M1 =0.1或 Ms.M1 =1.1 补码表示:正数:尾数最高位为1,即Ms.M1 =0.1 负数:尾数最高位为0,即Ms.M1 =1.0,2.3 机器数的定点与浮点表示,2020/7/6,8,2.3 机器数的定点与浮点表示,思考:-0.5分别用原码和补码表示时,是不是规格化浮点数。 例2
5、-7 机器字长11位,其中阶码4位、尾数7位(各含一位符号)均用补码表示,写出X= 的规格化浮点表示。,1,111;0.101100,2020/7/6,9,3. 浮点数的隐藏位技术 规格化的浮点数中的尾数不为0时,其尾数最高有效位特点明确、取值固定,所以在将这样的浮点数写入内存或磁盘时,不必给出该位,可左移一位去掉它,这种处理技术称为隐藏位技术。 目的:用同样多的位能多保存一位二进制位。 -在取回这样的浮点数到运算器执行运算时,必须先恢复该隐藏位。,2.3 机器数的定点与浮点表示,2020/7/6,10,4. 浮点数的表示范围(阶码用移码表示,尾数用补码表示) Es,E1 Em ; Ms .
6、M1 Mn,超出此范围,溢出。 下溢:小于最小值机器0,机器继续运行 上溢:大于最大值 浮点数尾数为0,不论阶码为何值机器0。,2.3 机器数的定点与浮点表示,2020/7/6,11,4浮点数的表示范围 尾数部分给出有效数字的位数,决定了浮点数的表示精度,尾数占的位数越大,浮点数的表示精度就越高; 阶码部分指明小数点在数据中的位置,决定了浮点数的表示范围,阶码占的位数越大,浮点数的表示范围就越大; 通常希望数据表示的范围越大越好、精度越高越好,但是由于计算机的存储字长是一定的,不能两者兼顾。,2.3 机器数的定点与浮点表示,2020/7/6,12,尾数基数对规格化浮点数特性的影响 改变尾数的基
7、数J,对规格化浮点数的特征有以下几个方面的影响: 可表示数的范围。随着基数的增大,阶码位数相同的情况下,可表示数的范围增大; 可表示数的个数。随着基数的增大,可表示数的个数增加; 数在数轴上的分布。基数越大,数在数轴上的分布密度越稀疏。,2.3 机器数的定点与浮点表示,2020/7/6,13,三、 定点数和浮点数比较,2.3 机器数的定点与浮点表示,定点数据表示简单,省硬件;浮点数据表示较麻烦,价格较贵。从以下几个方面来比较它们性能上的主要差距。 1)数值的表示范围 假设定点数和浮点数的字长相同,浮点表示法所能表示的数值范围将远远大于定点表示法,但是此范围指的只是数的上下限,它们之间是一些不连
8、续的点,而不是段连续的区间。 对于定点数而言,各个点在数轴上的分布是均匀的;而对于浮点数而言,各个点在数轴上的分布是不均匀的。越靠近数轴的原点,两个相邻的浮点数之间的距离就越近。,2020/7/6,14,2)精度 所谓精度是指一个数所含有效数值位的位数。 一般来说机器字长越长,它所表示的数的有效位数就越多,精度就越高:对于字长相同的定点数与浮点数来说,浮点数虽然扩大了数的表示范围,但这正是以损失精度为代价的,也就是数轴上各点的排列更稀疏了。,2.3 机器数的定点与浮点表示,2020/7/6,15,3)数的运算 浮点数包括阶码和尾数两部分,运算时不仅要做尾数的运算,还要做阶码的运算,而且运算结果
9、要求规格化。因此浮点运算要比定点运算复杂。 4)溢出处理 在定点运算时,当运算结果超出数的表示范围,就叫做溢出。而在浮点运算时,运算结果仅尾数超出数的表示范围都不一定溢出,只有当阶码超出所能表示的范围时,才发生溢出。,2.3 机器数的定点与浮点表示,2020/7/6,16,2.3 机器数的定点与浮点表示,四、 定点数和浮点数举例 1、定点数 例1: 机器字长8位,写出3的定点表示 3原1,0000011 3反1,1111100 3补 1,1111101 3原,3D反=3D补= 0,0000011,2020/7/6,17,例2: 机器字长8位,写出X=11/32的定点表示 X=-(23 21)2
10、5 -(2-22-4 2-5) -0.01011 X原1.0101100 X反1.1010011 X补1.1010100,2.3 机器数的定点与浮点表示,2020/7/6,18,2.3 机器数的定点与浮点表示,2、浮点数 例1:浮点数格式为,;. ,写出此数所能表示的最大正数、最小正数、最大负数和最小负数。(阶码和尾数用原码表示,不考虑规格化),正max =0,111;0.1111111=(1-2-7 )*2+7 正min =1,111;0.0000001= +2-7 *2-7 负max = 1,111;1.0000001= -2-7 *2-7 负min =0,111;1.1111111= -
11、 (1-2-7 ) *2+7,2020/7/6,19,2.3 机器数的定点与浮点表示,例2:机器格式为,;.,写出X=-11/32的规格化浮点表示 X= - 11/32= -(23 21)25 -(2-22-4 2-5)= - 0.01011B -0.1011 2-1 X原1,001;1.101100 X补1,111;1.010100,2020/7/6,20,2.3 机器数的定点与浮点表示,浮点数练习: 浮点: ,;., 写出X9/128的规格化浮点表示,2020/7/6,21,2.3 机器数的定点与浮点表示,五、实用浮点数举例IEEE 754 浮点数格式,IEEE 754标准的浮点数格式,2
12、020/7/6,22,IEEE754标准的浮点数,1、最高位为数符位; 2、其后是8位阶码,以2为底,移码表示,阶码的偏置值为127;(阶码E的表示范围为 -127,128,但当E全为0和1时,分别表示零和无穷大,所有E的实际范围为-126,127) 3、其余23位是尾数。为了使尾数部分能表示更多一位的有效值,IEEE754采用隐含尾数最高数位1(即这一位1不表示出来)的方法,因此尾数实际上是24位,应注意的是,隐含的1是一位整数(即位权为20),在浮点格式中表示出来的23位尾数是纯小数,并用原码表示。,2020/7/6,23,IEEE754浮点数表示可以归纳出以下多种情况: 若指数e全0,且
13、M=0时,N为0(零有正负之分,由符号位决定); 若指数e全0,且M0时,对应的阶码为Emin-1,但阶码值取Emin,由于得到的结果值较小,为避免下溢而损失精度,尾数采用非规格化数(无隐藏的1):即N= 。 若指数e不是全0或全1时(对应正常的阶码范围EminEEmax),按正常方式计算数据的阶码值,尾数为规格化的数(有隐藏的1),N= ; 若指数e全1,且M=0,表示无穷大(无穷大也有正负之分,由符号位决定); 若指数e全1,且M0,则认为这不是一个数(NaN)。,2020/7/6,24,例:将(100.25)10转换成IEEE754短浮点数(单精度)格式。 十进制数二进制数 (100.2
14、5)10=(1100100.01)2 非规格化数规格化数 1100100.01=1.1001000126 计算移码表示的阶码(偏置值阶码真值) 1111111+110=10000101 以短浮点数格式存储该数。 符号位=0 阶码=10000101 尾数=10010001000000000000000 短浮点数代码为 0;100 0010 1;100 1000 1000 0000 0000 0000,2020/7/6,25,例:将单精度IEEE 754浮点数00280000H转换成十进制数。 解:00280000H表示为二进制: 0,00000000,010 1000 0000 0000 000
15、0 0000 分析可得:符号位为0是正数;由于指数全0,此数属于特殊数值,对应的阶码取Emin= -126;尾数M此时是非规格化的数,没有隐含整数1,对应0.3125。 该浮点数对应的十进制数为:(-1)02-126 0.31253.67342e-39,2020/7/6,26,2.4 非数值数据的编码表示,字符数据 -字符、字符串、汉字,一. 字符编码,1、ASCII码美国国家信息交换标准代码 American Standard Code for Information Interchange 7位二进制表示一个字符:共128个 数字、字母、专用符号、控制符号,2020/7/6,27,2020
16、/7/6,28,2.4 非数值数据的编码表示,ASCII码的特点: 1-数字和英文字母有序排列; 2-数字高位011,低位0000-1001,便于处理; 3-最高位作用变化;,奇偶校验位 区分英文和汉字标志 扩展ASCII码,2020/7/6,29,2.4 非数值数据的编码表示,2. 字符串的表示与存储 字符串:一串连续的字符,占据主存中连续的多个字节,每个字节存放一个字符。 表示字符串数据: 要给出串存放的主存起始地址和串的长度。,2020/7/6,30,2.4 非数值数据的编码表示,向量存放法:连续字节存放 节省空间; 插入删除处理麻烦;,串表法:不连续存放,每个符号后有一个链接字指明下一
17、个字符的存储地址; 浪费空间; 插入删除处理简单;,2020/7/6,31,2.4 非数值数据的编码表示,二、汉字编码 汉字字数繁多、字型复杂、读音多变-难度大,汉字编码需要解决3方面的问题 输入编码 机内存储编码 字型(输出)编码,2020/7/6,32,2.4 非数值数据的编码表示,1、汉字输入编码 (1)数字编码 (2)拼音码 (3)字型编码 (4)语音和图像识别 IBM ViaVoice 手写板,2020/7/6,33,2.4 非数值数据的编码表示,2、汉字机内码 用于汉字在计算机中存储、交换、检索等操作 -可以用不同的输入码输入汉字,但存储在计算机中的机内码是唯一的,GB码(汉字国标
18、码) :两个字节表示一个汉字; 3021H -一体 汉字“啊” - 0! 的ASCII码 为兼容ASCII码和汉字国标码; 规定:汉字机内码最高位为1 汉字机内码=GB码+8080H,2020/7/6,34,2.4 非数值数据的编码表示,3、汉字字形码 汉字字模码、汉字输出码 -确定一个汉字的字形点阵的代码,按点阵规模(输出质量) 点阵 16*16 24*24 32*32 48*48 字节数 32 72 128 288 汉字库:各个汉字字模点阵信息组成的实体,2020/7/6,35,汉字处理,2020/7/6,36,2.4 十进制数据的编码表示,一、十进制数的表示 二十进制编码(BCD码, B
19、inary Code Decimal ) 用四位二进制表示一位十进制,逢10进1 有权码: 一个十进制数位的4位基2码的每一位有确定的位权 无权码: 一个十进制数位的4位基2码的每一位没有确定的位权,2020/7/6,37,1. 8421码,8421码又称为NBCD码,其主要特点是: 它是一种有权码,四位二进制代码的位权从高到低分别为8、4、2、1。 简单直观。每个代码与它所代表的十进制数之间符合二进制数和十进制数相互转换的规则。 不允许出现10101111。这6个代码在8421码中是非法码。,2020/7/6,38,2. 2421码,2421码的主要特点是: 它也是一种有权码,四位二进制代码
20、的位权从高到低分别为2、4、2、1。 它又是一种对9的自补码。即某数的2421码,只要自身按位取反,就能得到该数对9补数的2421码。例如: 3的2421码是0011。3对9的补数是6,而6的2421码是1100。 不允许出现01011010。这6个代码在2421码中是非法码。,2020/7/6,39,3. 余3码,余3码的主要特点是: 这是一种无权码,但也可看作是一种特殊的有权码,即在8421码的基础上加+3(+0011)形成的,故称余3码。在这种编码中各位的“1”不表示一个固定的十进制数值,因而不直观。 它也是一种对9的自补码。 不允许出现00000010、11011111。这6个代码在余
21、3码中是非法码。,2020/7/6,40, 2.4 十进制数据的编码表示,4 Gray 码 特点: 无权码 任意相邻两个代码之间仅有一位不同 不唯一 不是对9的自补码,循环特性,用在时序逻辑电路中,出错少,可靠性高,转换快,延时短,0000 0001 0011 0010 0110 1110 1010 1000 1100 0100,2020/7/6,41,2.4 十进制数据的编码表示,二、十进制数串的表示 不按照数值数据形式存储,按照串的形式存 1、非压缩的十进制数串: 一个字节存放一个十进制数的ASCII-7码 数串:连续存放,指明起始地址和串长度 符号位处理: 前分隔式: + 2BH - 2
22、DH 单独占一个字节 后嵌入式: +不变 - 最低位数字ASCII码+40H 特点: 用于非数值处理,算术运算不便; 空间浪费;,2020/7/6,42,2.4 十进制数据的编码表示,2、压缩的十进制数串: 一个字节存放2个十进制数的BCD码 数串:连续存放,指明起始地址和串长度 符号位处理:占半个字节,放在最低位数字之后 +: CH -: DH (要求数字的个数加符号位必须为偶数,如果不是偶数 在最高数值位之前加0) 特点: 算术运算方便; 节省空间;,2020/7/6,43,例:某二进制数-11101010,转换为十进制数串,分别表示成压缩与非压缩两种格式。 解:(1)将二进制数-1110
23、1010转换为十进制-234。 压缩的十进制数串为:00100011 01001101,十六进制为23 4DH,共2个字节。 非压缩的十进制数串: 前分隔式 00101101 00110010 00110011 00110100,十六进制为2D 32 33 34H,共4个字节。 后嵌入式 00110010 00110011 01110100,十六进制为32 33 74H,共3个字节。,2020/7/6,44,2.5 数据校验码,为何需要数据校验? 如何减少或者避免错误? 选用更高可靠性的器件,更好的生产工艺 还可以从数据编码上想一些办法,数据校验码:能够发现错误并纠正错误的编码 检错纠错码 原
24、理:采用冗余的线路(编码位),在原有数据位之外再 增加一到几位校验位,使新得到的码字带上某种特性,通过检查该码字是否仍保持有这一特性,来发现是否出现了错误。 合理安排校验位数量和规则,可定位错误后自动改正,2020/7/6,45,奇校验: 偶校验: 注意:只能检错,不能纠错 不能检查偶数次错,2.5 数据校验码,1、奇偶校验码 原理:在 k 位数据码之外增加 1 位校验位 使K+1 位码字中取值为 1 的位数总保持为 偶数(偶校验)或奇数(奇校验) 奇校验:添加一位代码后,“1”的个数为奇数 偶校验:添加一位代码后,“1”的个数为偶数,如:0110111,00110111,10110111,2
25、020/7/6,46,2.5 数据校验码,奇偶校验电路: 偶校验形成= 各数据位异或 奇校验形成= 各数据位异或 偶校验出错=校验位及各数据位异或 奇校验出错=校验位及各数据位异或,2020/7/6,47,奇偶校验位的形成及校验电路,图 奇偶校验位的形成及校验电路,2020/7/6,48,2.5 数据校验码,简单奇偶校验能否检测出两位出错? 交叉奇偶校验: 传送大量数据时, 每个字节有奇偶校验位-横向校验 所有字节的同一位也有奇偶校验位-纵向校验 可以发现两位同时出错的情况!,2020/7/6,49,2.5 数据校验码,交叉奇偶校验: a7 a6 a5 a4 a3 a2 a1 a0 1 1 1
26、 0 0 1 0 1 1 -1 2 0 1 0 1 1 1 0 0 -0 3 1 0 0 1 1 0 1 0 -0 4 1 0 0 1 0 1 0 1 -0 1 0 0 1 1 0 0 0,0,1,能纠一位错,查两位错,2020/7/6,50,2.5 数据校验码,2.海明检纠错码(Hamming) -多重奇偶校验 实现:为N个数据位设立K个校验位, 使 N+K 位组成的码字同时具有这样两个特性: 能发现并改正 N+K 位中任何一位出错, 能发现N+K位中任何二位同时出错,但无法改正。,2020/7/6,51,2.5 数据校验码,3. 循环冗余校验码 CRC ( Cyclic Redundanc
27、y Check) -计算机网络、同步通信、磁表面存储器 原理:通过除法运算来建立有效信息位和校验位之间的约定关系的。待编码的有效信息以多项式表示,将它左移若干位后,用另一个约定的多项式去除,所产生的余数就是检验位。有效信息和检验位相拼接就构成了CRC码。 当整个CRC码被接收后,仍用约定的多项式去除,若余数为0表明该代码是正确的;若余数不为0表明某一位出错,再进一步由余数值确定出错的位置,以便进行纠正。,2020/7/6,52,2.5 数据校验码,CRC编码及校验的工作过程,2020/7/6,53,2.5 数据校验码, 模2运算:以按位模2相加为基础, 运算时不考虑进位和借位。 模2加减(异或
28、) 000 011 101 110 模2乘(用模2加求和) 例如: 1 0 1 0 1 0 1 1 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0,2020/7/6,54,2.5 数据校验码, 模2除(用模2减求余数) 每求1位商使部分余数减少1位。 上商原则:部分余数的首位为1,商取1; 部分余数的首位为0,商取0。 当部分余数位数小于除数位数时,该余数为最后余数。 例如: 1 0 1 1 0 1 1 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1,2020/7/6,55,2.5 数据校验码,设:被除数M(x):k位待编信息 除数G(x):r+1位 余数R(x):r位校验位 商Q(x) CRC码的编码方法, (k+r,k)CRC码具体实现,a. 将待编码的k位有效
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小城镇市政设施管理办法
- 深圳市建房预算管理办法
- 南水北调中线渠管理办法
- 昌吉市乡镇采砂管理办法
- 海口住房养护管理办法
- 陶瓷玻璃库存管理办法
- 专项债投资管理办法规定
- 四年级上学期语文教师教学工作计划
- 商品陈列协议书
- 协议书格式与
- 无人机装调检修工理论知识考试题库及答案
- XX区“五好两宜”和美乡村建设试点实施方案(参考模板)
- 2021年中级注册安全工程师《安全生产专业实务道路运输安全》真题及解析
- 血透患者叙事护理故事
- 电力建设工程施工安全管理导则
- 医院消防安全培训课件(完美版)
- 雅马哈RX-V365使用说明书
- 照相馆管理制度
- IECQ QC 080000:2017 第四版标准(中文版)
- 国外激励研究现状分析报告
- GB/T 4074.4-2024绕组线试验方法第4部分:化学性能
评论
0/150
提交评论