数据表示与运算算法和逻辑电路实现.ppt

上传人:max****ui 文档编号:14552191 上传时间:2020-07-23 格式:PPT 页数:82 大小:1.28MB
返回 下载 相关 举报
数据表示与运算算法和逻辑电路实现.ppt_第1页
第1页 / 共82页
数据表示与运算算法和逻辑电路实现.ppt_第2页
第2页 / 共82页
数据表示与运算算法和逻辑电路实现.ppt_第3页
第3页 / 共82页
点击查看更多>>
资源描述
第3章,数据表示、数据运算算法和逻辑电路实现,本章主要内容,信息编码、码制转换与检错纠错码 数据表示常用的信息编码 二进制数值数据的编码与运算算法,数字化编码二要素,数值 文字 符号 语音 图形 图像 等统称数据, 在计算机内部,都必须用数字化编码的形式 被 存储 加工 和 传送 数字化编码二要素: 少量简单的基本符号 一定的组合规则 用以表示大量复杂多样的信息,基二码(二进制码),只使用两个基本点符号: 符号个数最少,物理上容易实现 与二值逻辑的 真假 两个值对应简单 用二进制码表示数值数据运算规则简单,进位记数法与进制转换,进位记数法,N,=,i=m-1,D,i,*,i,r,-k,N 代表一个数值,r 是这个数制的基(Radix),i表示这些符号排列的位号,D,i,是位号为i的位上的一个符号,r,i,是位号为i的位上的一个 1 代表的值,i,r,D,i,*,是第i位的所代表的实际值,表示m+k位的值求累加和,十进制转二进制,整数部分除2取余 小数部分乘2取整,2,1 1,2,2,2,5,2,1,0,1,1,0,1,0.625 * 2,1,0.25 * 2,0,0.5 * 2,1,0.0,除尽为止 求得位数满足要求为止,低,高,高,低,从二进制数求其十进制的值,逐位码权累加求和,二到八或十六进制转换,二到八 从小数点向左右三位一分组 (10 011 100 . 01)2 = ( 234 . 2 )8 010 二到十六 从小数点向左右四位一分组 (1001 1100 . 01)2 = ( 9C . 4 )16 0100 说明:整数部分不足位数对转换无影响, 小数部分不足位数要补零凑足,否则出错。,二进制数据算术运算规则,(1) 加法运算规则 0+0=0 例如: 0101 0+1=1 +) 0001 1+0=1 0110 1+1=0 并产生进位 (2) 减法运算规则 0-0=0 例如: 1011 0-1=1 并产生借位 -) 0101 1-0=1 0110 1-1=0,二进制数据算术运算规则,乘法运算规则 例如: 1101 0X0=0 X) 0101 0X1=0 1101 1X0=0 1101 1X1=1 1000001 除法运算规则 1101 例如: 1110101/1001 1001 1110101 1001 1011 1001 01001 1001 0,0000,检错纠错码,为了提高计算机的可靠性,除了采取选用更高可靠性的器件,更好的生产工艺等措施之外,还可以从数据编码上想一些办法,即采用一点冗余的线路,在原有数据位之外再增加一到几位校验位,使新得到的码字带上某种特性,之后则通过检查该码字是否仍保持有这一特性,来发现是否出现了错误,甚至于定位错误后,自动改正这一错误,这就是我们这里说的检错纠错编码技术。,非线性码,线性码,卷积码,分组码,非循环码,循环码,随机 错误,突发 错误,纠错码,校验位与信息位 的形成关系,信息位与校验位 的约束条件,码字本身的 结构特点,信息位与校验位排列位置关系,系统码,非系统码,纠错码分类,几种常用的检错纠错码,我们只介绍三种常用的检错纠错码: 奇偶检错码, 用于并行数据传送中 海明检错与纠错码,用于并行数据传送中 循环冗余码, 用于串行数据传送中,编码过程,译码过程,传送,原始数据,码 字,结果数据,形成校验位的值,加进特征,检查接送的码字,发现 / 改正错误,奇偶校验码,用于并行码检错 原理:在 k 位数据码之外增加 1 位校验位, 使 K+1 位码字中取值为 1 的位数总保持 为 偶数(偶校验)或 奇数(奇校验)。 例如: 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 原有数字位 两个新的码字,奇偶校验码的实现电路,+,奇较验 偶校验 出错指示,+,+,+,+,+,+,+,同左侧电路,编码电路,译码电路,P (校验位),八位数据位,D7 D6 D5 D4 D3 D2 D1 D0,p,海明校验码,用于多位并行数据检错纠错处理 实现:为 k 个数据位设立 r 个校验位, 使 k+r 位的码字同时具有如下两个特性: 能发现并改正 k+r 位中任何一位出错, 能 发 现 k+r 位中任何二位同时出错,但已无法改正。,海明码的编码方法,合理地用 k 位数据位形成 r 个校验位的值,即保证用 k 个数据位中不同的数据位组合来形成每个校验位的值,使任何一个数据位出错时,将影响 r 个校验位中不同的校验位组合起变化。换言之,通过检查是哪种校验位组合起了变化,就能确定是哪个数据位错,对该位求反则实现纠错。 有时两位错与某种情况的一位错对校验位组合的影响相同,必须加以区分与解决。,P1 = D2 + D1 P2 = D3 + D1 P3 = D3 + D2,海明码的实现方案 例如: k =3, r =4,D3 D2 D1 P4 P3 P2 P1 X X X,P4 = P3 + P2 + P1 + D3 + D2 + D1,S1 = P1 + D2 + D1 S2 = P2 + D3 + D1 S3 = P3 + D3 + D2 S4 = P4 + P3 + P2 + P1 + D3 + D2 + D1,+ :异或,编码方案,译码方案,海明码的实现方案 例如: k =3, r =4,D3 D2 D1 P4 P3 P2 P1 1 1 1 1 0 0 0,S1 = P1 + D2 + D1 S2 = P2 + D3 + D1 S3 = P3 + D3 + D2 S4 = P4 + P3 + P2 + P1 + D3 + D2 + D1,译码方案,S4 S3 S2 S1 值 0 0 0 0 0 1 1 1 0 6 1 1 0 1 5 1 0 1 1 3 1 0 0 0 0 1 1 0 0 4 1 0 1 0 2 1 0 0 1 1,0 1 1 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 1,D3 D2 P3 D1 P2 P1 P4,海明校验码总结,校验码字没有出错,则4个S均为0。 任何单独一位数据位出错,4个S中会有3个1,且S4一定为1。 若单独一位校验位出错, 4个S中会有1到2个为1,且S4一定为1。 任何两位(包含数据位和校验位),S4一定为0,另外3个S不全为0。 4在这里只是表示奇数位出错还是偶数位出错,1为奇数位出错,0表示偶数位出错。,检错纠错码小结,(1) K位码有2K 个编码状态,全用于表示合法码,则任何一位出错, 均会变成另一个合法码,不具有检错能力。 (2) 从一个合法码变成另一个合法码,只少要改变几位码的值,称为最小码距(码距)。 (3) K+1 位码,只用其 2K 个状态,可使码距 为 2 , 如果一个合法码中的一位错了,就成为非法码,通过检查码字的合法性,就得到检错能力,这就是奇偶校验码。,检错纠错能力,(4) 对 k 位数据位,当给出 r 位校验位时,要发现并改正一位错, 须满足如下关系: 2r = k + r +1 ; 要发现并改正一位错,也能发现两位错,则应: 2r-1 = k + r , 此时码距为 4。 (5) 若最小码距为 d (d=2), 能发现 d-1 位错,或改正 (d-2)/2 (取整) 位错, 要发现 l 位错,并改正 t 位错,应满足如下条件: d = l + t + 1 ( l = t ),本章主要内容,信息编码、码制转换与检错纠错码 数据表示常用的信息编码 二进制数值数据的编码与运算算法,基二码应用实例:数据表示,逻辑型数据 字符型数据 ASCII 码 EBCDIC 码 字符串 汉字 检错纠错码 奇偶校验海明校验 循环冗余校验 数值型数据 定点小数 整数 浮点数 二十进制数(BCD码),逻辑型数据,逻辑型数据只有两个值:真 和 假, 正好可以用二进制码的两个符号分别表示, 例如 1 表示 真 则 0 表示 假 不必使用另外的编码规则。 对逻辑型数据可以执行逻辑的 与 或 非等基本逻辑运算。其规则如下:,逻辑型数据基本运算规则,X Y X与Y X或Y X的非 0 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 0,字符型数据的表示,字符作为人机联系的媒介,是最重要的数据类型之一,当前的西文字符集由 128 个符号组成,通常用 8 位二进制编码,即用一个字节来表示每一个符号,当前通用的两个标准字符集是: ASCII 码: 即 American Standard Code for Information Interchange EBCDIC码:即 Extended Binary Coded Decimal Interchage Code ASCII码字符集具体编码如下表所示:,ASCII字符编码集,b6 b5 b4 000 001 010 011 100 101 110 111 b3 b2 b1 b0 0000 NUL DLE SP 0 P , p 0001 SOH DC1 ! 1 A Q a q 0010 STX DC2 “ 2 B R b r 0011 ETX DC3 # 3 C S c s 0100 EOT DC4 $ 4 D T d t 0101 ENQ NAK % 5 E U e u 0110 ACK SYN K k 1100 FF FS , N n 1111 SI US / ? O _ o,字符串的表示与存储,字符串是指连续的一串字符,它们占据主存中连续的多个字节,每个字节存放一个字符,对一个主存字的多个字节,有按从低位到高位字节次序存放的,也有按从高位到低位字节次序存放的。表示字符串数据要给出串存放的主存起始地址和串的长度。例如:IF AB THEN READ(C)就可以有如下不同的存放方式: I F A A F I B T T B 假定每个字 H E N N E H 由 4 个字节 R E A D D A E R 组成 ( C ) ) C (,汉字的表示,通常用两个字节表示一个汉字 为了与西文字符编码相区别(西文的ASCII码的最高一位编码值为0),表示一个汉字时,把两个字节的最高一位的编码值设定为 1,则该编码集的最多编码数量为 128 X 128。 这种编码方案与西文传送中的把ASCII码的最高一位用作奇偶校验位有矛盾。,数值数据在计算机内的格式,定点小数: N = N N N .N,s,-1,-n,-2,整 数 : N = N N N . N N,0,1,s,n,n-1,浮点数: N = M E E .E E M M .M,s,s,m-1,1,0,-1,-2,-n,符号位 阶码位 尾数数码位 总位数,短浮点数: 1 8 23 32,长浮点数: 1 11 52 64,临时浮点数: 1 15 64 80,IEEE 标准: 阶码用移码,尾数用原码,基为 2,二 十进制编码(BCD编码),用四位二进制表示一位十进制, 16个编码状态选用其中的10个编码 有多种方案,例如: 8421码,余 3 码,循环码 又可区分为: 有权码:每位上的 1 代表确定的值 无权码:无法确定每位上的 1 代表的值,0 0000 0011 0000 0000 1 0001 0100 0001 0111 2 0010 0101 0011 0110 3 0011 0110 0010 0101 4 0100 0111 0110 0100 5 0101 1000 1110 1011 6 0110 1001 1010 1010 7 0111 1010 1000 1001 8 1000 1011 1100 1000 9 1001 1100 0100 1111,有权码 无权码,8421,余3码,循环码,84-2-1,如何判定码权,0 0000 1 0111 4 +(-2)+(-1) 2 0110 4 +(-2) 验证每个码的值 3 0101 4 +(-1) 4 0100 4 从一编码求码权 5 1011 8 +(-2)+(-1) 6 1010 -2 结论 7 1001 -1 证明此编码系统为有权码 8 1000 8 9 1111 8 + 4 +(-2)+(-1),如何判定码权,0 0011 2+1 = 0 验证各码的值 1 0100 1 从一编码求码权 2 0101 1 3 0110 2 4 0111 5 1000 6 1001 结论 7 1010 证明此编码系统为无权码 8 1011 9 1100,本章主要内容,信息编码、码制转换与检错纠错码 数据表示常用的信息编码 二进制数值数据的编码与运算算法,定点小数表示: Ns N1 N2 Nn, X = X = X =,原,X,1 - X,-1 X 0,反,X,(2 - 2 )+ X,-n,0 X 1,-1 X 0,补,X,2 + X,Mod ( 2 - 2 ),0 X 1,-1 X 0,Mod 2,0 X 1,-n,(纯小数)原码,反码,补码的定义,定点小数表示: Ns N1 N2 Nn,原 码 定义: X 原 = 实例: X1 = 0.10110 -0.10110 0.0000 X 原 = 010110 110110 00000 10000 结论:原码为符号位加数的绝对值,0正 1负 原码零有两个编码,+0 和 -0编码不同 原码难以用于加减运算,但乘除方便,X,1 - X,-1 X 0,0 X 1,定点小数表示: Ns N1 N2 Nn,反 码 定义: X 反 = 实例: X1 = 0.10110 -0.10110 0.0000 X 反 = 010110 101001 00000 11111 结论:反码负数为符号位跟每位的反, 0 正 1 负 反码零有二个编码,分+0 和 -0 反码难以用于加减运算,有循环进位问题,X,(2-2-n) + X,-1 X 0 MOD (2-2-n),0 X 1,定点小数表示: Ns N1 N2 Nn,模 2 补码 定义: X 补 = 实例: X1 = 0.10110 -0.10110 0.0000 X 补 = 010110 101010 00000 结论:补码最高一位是符号位,0 正 1 负 补码表示为:2*符号位 + 数的真值 补码零只有一个编码,故能表示 -1 补码能很好地用于加减(乘除)运算,X,2 + X,-1 X 0 MOD 2,0 X 1,整数的编码表示,整数的 原码 反码 补码 表示 与小数的三种表示基本相同, 差别仅表现在小数点的位置, 可以认为整数的小数点在最低数值位的右侧 因此整数的模与整数位数有关, 讲课中不大用整数讲 原 反 补 码定义 例如:整数六位编码: X = +01110 X原= 0 01110 X补= 0 01110 X = - 01110 X原= 1 01110 X补= 1 10010,原 反 补码表示小结,正数的 原码、反码、补码表示均相同, 符号位为 0,数值位同数的真值。 零的原码和反码均有 2个编码,补码只 1个码 负数的 原码,反码,补码表示均不同, 符号位为 1,数值位:原码为数的绝对值 反码为每一位均取反码 补码为反码再在最低位+1 由X补求-X补:每一位取反后,再在最低位+1,数据的算术运算,补码 加 减 法 运算 原码一位乘法运算 原码一位除法运算 补码一位乘法运算 补码一位乘法运算,4.2.1 定点数加减运算,定点数是指小数点固定在某个位置上的数据,一般有小数和整数两种表示形式。 定点数的加减运算算法有原码、补码和反码三种。目前的计算机普遍采用补码加减运算。下面主要以补码的加减运算来讲解。 当补码加减运算的结果不超出机器范围时,有以下的运算规则: 参加运算的两个操作数均用补码表示; 符号位作为数的一部分参加运算; 求差时将减数求补,用求和代替求差; 运算结果为补码; 符号位的进位为模值,应该丢掉。,1、补码加法运算,公式:X补Y补XY补 例41 已知X0.10011 ,Y0.10001 ,求XY。 解 X补1.01101 Y补0.10001 X补Y补1.01101 0.10001 1.11110 XY补0.100110.10001补 0.00010补1.11110 这里X和Y一负一正,同样得到X补Y补XY补。,例42 已知X0.10011 ,Y0.01001 ,求XY。 解 X补1.01101 Y补1.10111 X补Y补1.01101+1.10111=1.00100 XY补-0.10011-0.01001 补=-0.11100 补1.00100,2、补码定点加减运算的实现,由于XY补X(Y)补X补Y补,只要我们求得Y补,就可以变减法为加法,已知Y补,求Y补的方法是:对Y补各位(包括符号位)取反,然后在末位加上1,就可以得到Y补。 例如: Y= 0.0110,Y补=1.1010,Y补=0.0110 例43 已知X0.11001,Y0.10011,求XY。 解 X补0.11001 Y补0.10011 则Y补1.01101 XY补X补Y补0.110011.0110110.00110 由于补码的加减运算都可以转化为补码加法运算,这样在逻辑电路实现加减运算时,可以只考虑用加法电路,而不必设置减法电路。,F X,3、补码定点加减运算的实现,Fs F ALU,目的 寄存器,源 寄存器,选通门,二选通门,选通门,F 1,X,Y,F Y,X F,0,1,0 1,F /Y,Fs OVR Z C,累加器,X X+Y X X-Y, , ,加,减,4.2.2 定点数加减运算溢出的处理,1、当加减运算结果超出机器数所能表示的范围时,称为溢出。在计算机中怎样来判断溢出呢? 当符号相同的两个数相加时,如果结果的符号与加数(或加数)符号不同,则说明溢出。即溢出条件为:,在计算机中判断溢出的逻辑电路如图所示。,2、当任意符号两数相加时,如果CCf,则运算结果正确,C表示数值最高位产生的进位,Cf表示进位位产生的进位。如果CCf,则为溢出。由此得出溢出条件为:,3、可以采用双符号位fS2fS1。正数的双符号位为00,负数的为11。符号位参与运算,运算结果的符号位为高符号位fS2(无论是否溢出)。当结果的两个符号位不同时,说明溢出。即溢出条件为:,,或者溢出条件为:,4.3 二进制乘除法运算,在计算机中,实现乘除运算通常有三种方法: 第一、软件实现。在低档微机中无乘除运算指令,只能用乘除子程序来实现乘除运算。 第二、在原有实现加减运算器基础上增加一些逻辑线路,使乘除运算变换成累加和移位操作,在机器中设有乘除指令。 第三、设置专用的乘除法器。机器中设有相应的乘除指令。 在此主要讨论常用的第二种方案。,4.3.1二进制乘法运算,1、定点数一位乘法 (1)定点原码一位乘法 两个原码数相乘,其乘积的符号为相乘两数的异或值,数值为两数绝对值之积。手工运算举例: 例45 X= -0.1101,Y=0.1011,计算乘积XY,符号位的异或值为:,结果的符号为负,得XY原=1.10001111。,方法:每次按乘数每1位上的值是1还是0,决定相加数取被乘数的值还是取零值,而且相加数逐次向左偏移1位,最后一起求和。,机器实现: (1)机器内多个数据一般不能同时相加,一次加法操作只能求出两数之和,因此每求得一个相加数,就与上次部分积相加。 (2)由于在求本次部分积时,前一次部分积的最低位不再参与运算,因此可将其右移一位,相加数可直送而不必偏移,于是用N位加法器就可实现两个N位数相乘。 (3)部分积右移时,乘数寄存器同时右移一位,这样可以用乘数寄存器的最低位来控制相加数(取被乘数或零),同时,乘数寄存器的最高位可接收部分积右移出来的一位,因此,完成乘法运算后,被乘数寄存器中保存乘积的高位部分,乘数寄存器中保存乘积的低位部分。,例46 设X= -0.1101,Y= 0.1011,求X+Y原= ? 解:其中|X|用双符号表示;|Y|用单符号表示 |X|=00.1101,|Y|=0.1011,符号:,乘积为负数,所以:XY原=1.10001111,实现原码一位乘法的逻辑线路图,第 i 位,第 i 位,第 i +1位,第 i -1位,F/2X FX F*2X,移位电路,原码一位乘法,0 0 0 0 0 0,1 0 1 1,0 0 0 0 0 0,0 0 1 1 0 1,1 0 1 1,0 0 1 1 0 1,0 0 1 1 0 1,0 0 0 1 1 0,1 0 1 1,0 1 0 0 1 1,0 1 0 0 1 1,1 1 0 1,0 0 1 0 0 0,0 0 1 0 0 1,0 0 0 1 1 0,0 0 1 0 0 1,0 0 1 0 0 1,0 0 1 0 0 1,0 0 0 1 0 0,0 0 0 1 0 0,0 1 0 0 0 1,0 1 0 0 0 1,0 0 1 0 0 0,低位积,在补码运算的机器中,不论数的正负,连同符号位将数右移一位,并保持符号位不变,相当于乘1/2(或除2)。 证明如下:,2、定点补码一位乘法,已知X补,如何求X/2补,设X补= , 当真值X0时,X0=0,即: X补= 当真值X0时,X0=1, 即X补= 则 补2 = 则可得出对正负数都合适的公式,补码一位乘法,补码一位乘法,开始时部分积为0,然后在上一步的部分积上,加(Yi+1-Yi)X补(i=n,2,1,0),再右移一位,得到新的部分积,如此重复n+1步,最后一次不移位,得到XY补 Yi+1与Yi为相邻的两位,(Yi+1-Yi)有0,1和-1三种情况。,4.3.2 二进制除法运算,定点除法运算,定点原码一位除法 定点原码一位除法有两种方法:恢复余数法和加减交替法 两个原码数相除,商的符号为两数符号的异或值,数值则为两数绝对值相除后的结果。 1. 恢复余数法,从手工运算推出运算规则: (1)在计算机中,右移除数,可以通过左移被除数(余数)来替代。 (2)上商0还是1,用做减法判结果的符号为负还是正来确定。 当差为负时,上商0,同时还应把除数再加到差上去,恢复余数为原来的正值之后再将其左移一位。 若减得的差为0或为正值时,就没有恢复余数的操作。上商为1,余数左移一位。 计算过程举例:,例48 X=-0.1011,Y=0.1101,求XY。,2. 加减交替法 加减交替法是对恢复余数法的一种修正。当某一次得的差值(余数Ri)为负时,不是恢复它,而是继续求下一位商,但用加上除数(+Y)的办法来取代(-Y)操作,其它操作仍然不变。 由恢复余数法来证明: 设进行第i次操作,求第i位商。余数以Ri表示,上次余数以Ri-1表示,则有Ri=2Ri-1Y,即原来余数左移一位再减Y 第i位商为: 若Ri0,够减,商上1。接着做第i1次,Ri1=2RiY。 若Ri0,够减,商上1。除法结束。 若Ri0,不够减,商上0。做i1次的方法是恢复余数(+Y),即Ri+Y,继续左移一位后,再减Y,即Ri+1=2(Ri+Y)-Y=2Ri+Y。,可得加减交替法规则:当余数为正时,商上1,求下一位商的办法,是余数左移一位,再减去除数;当余数为负时,商上0,求下一位商的办法,是余数左移一位,再加上除数。但若最后一次上商为0而又需得到正确余数,则在这最后一次仍需恢复余数。,例49 X=-0.1011,Y=0.1101,求XY。 解 -Y补=11.0011,注意: 对定点小数除法,首先要比较除数和被除数的绝对值大小,检查是否出现商溢出。 商的符号为相除两数符号的半加和。 运算过程中,放被除数和商的寄存器同时移动。,定点补码一位除法(加减交替法) 运算规则: 判符号位 如果被除数与除数同号,用被除数减去除数,若两数异号,用被除数加上除数。如果所得余数与除数同号上商1,若余数与除数异号,上商0,该商即为结果的符号位。 求商的数值部分 如果上次上商1,将余数左移一位后减去除数;如果上次上商0,将余数左移一位后加上除数。然后判断本次操作后的余数,如果余数与除数同号上商1;若余数与除数异号上商0。如此重复执行n-1次(设数值部分有n位)。,商的最后一位一般采用恒值1的办法,并省略了最低位+1的操作,此时最大误差为2-n。 若要求商的精度较高,可按再进行一次操作,以求得商的第n位。当除不尽时,若商为负,要在商的最低一位加1,使商从反码值转变成补码值;若商为正,最低位不需加1。,除法运算,在计算机内实现除运算时,存在与乘法运算类似的几个问题: 加法器与寄存器的配合, 被除数位数更长,商要一位一位地计算出来等。这可以用左移余数得到解决,且被除数的低位部分可以与最终的商合用同一个寄存器,余数与上商同时左移。,F 加法器,A 被除数(余数),B 除数 1 0,与或门,与或门,2FA,FA,BF,/BF,1F,C 商寄存器,上商,与或门,2CC,计数器 Cd,实现原码一位除法运算的原理逻辑图,N=MRmE 阶码的基以2为例,M为尾数定点小数,E为阶码整数。,浮点数的表示及运算方法,浮点数表示,浮点数表示范围,浮点数的表数精度,规格化浮点数,尾数:采用原码表示时规格化浮点数的符号位和最高数位值的形式应为:01;10。 而采用补码表示时应为:01;11(单符号位) 尾数修改,阶码相应改变。,隐含位,浮点数的加减法运算 设有两浮点数X,Y,实现XY运算,其中: X=Mx2EX,Y=MY2EY 执行以下五步来完成运算,(1) “对阶”操作 先比较两浮点数的阶码大小,求出其差值E,并保留其大值E,E=max(EX,EY) 当E0时,将阶码小的数的尾数右移E位,并将其阶码值加E。使两数的阶码值相等,此操作称为“对阶” 尾数右移时注意:若其以原码表示,符号位不参加移位,尾数值部分的高位补0,若其以补码形式表示,符号位参加右移,并保持原符号位不变。,(2) 尾数的加/减运算 在对阶以后,执行两尾数的加/减运算,得到两数之和/差。,(3) 规格化操作 即当运算结果不是规格化数时要进行左规、右规。注意:原码与补码表示时,规格化的不同。 理解其规则:双符号位的原码规格化尾数其值最高位为1,补码规格化形式为00.1;11.0 采用补码表示时:右规:结果两符号位不同时,尾数右移一位,阶码加1。(结果溢出) 左规:结果两符号位相同,而最高数值位与符号位相同时,此时,尾数连续左移,直到最高位值与符号位不同为止,同时从E中减去移位的位数。,(4) 舍入 在右规和对阶时,尾数低位上的数值会移掉,使其精度受到影响。常用“0”舍“1”入法。 (5) 检查阶码是否溢出 阶码溢出表示浮点数溢出。 在规格化和舍入时都可能发生,若阶码正常,则加/减运算正常结束。若阶码下溢,则置运算结果为机器零,若上溢则置溢出标志。,2. 浮点数的乘除法运算,浮点数的乘除法运算即阶码相加/减,尾数相乘/除。参加运算的两个数为规格化浮点数,也必须注意结果的规格化,舍入和判溢出等。,浮点数,某浮点数字长12位,其中阶符1位,阶码3位,数符1位,尾数7位,阶码以2为底,阶码和尾数均用补码表示。它所能表示的最大正数是多少?最小规格化正数是多少?绝对值最大的负数是多少?,答案:阶码部分为定点整数,尾数部分为定点小数。 最大正数:阶码为最大正数,尾数为最大正数。 X最大正数=(1-2-7)27 =(1-2-7)27 =127 最小正数:阶码为绝对值最大负数(最接近零),尾数为最小正数。 X最小正数= 2-72-8 X最小规格化正数= 2-12-8 = 2-9 = 1/512 绝对值最大负数:阶码为最大正数,尾数为绝对值最大负数。 X绝对值最大负数= - 27 = -128,设X补=1.a1a2a3a4a5a6: a.若要X- 1/2,a1a6要满足什么条件? b.若要-1/8 X- 1/4,a1a6要满足什么条件?,a. 1.100000 -1/2 1.100001 -31/64 1.111111 -1/64 a1=1;a2+a3+a4+a5 +a6 =1 b. 1.110000 -1/4 1.110001 -15/64 1.110111 -9/64 1.111000 -1/8 a1=a2 =1; a3 =0 a1=a2 = a3 =1; a4+a5 +a6 =0,某机字长16位,问下列几种情况下所能表示数值的范围。 a.无符号整数 b.用原码表示定点小数 c.用补码表示定点小数 d.用原码表示定点整数 e.用补码表示定点整数,a.无符号整数 字长16位均用来表示数值,即绝对值。最大数:(216-1); 最小数:0; 0X(216-1),b.用原码表示定点小数 字长16位,包括一位符号位。 最大正数:(1-2-15); 最小正数:2-15(零除外); 绝对值最大的负数:-(1-2-15) -(1-2-15)X(1-2-15),c. 用补码表示定点小数 最大正数和最小正数与原码相同。 绝对值最大的负数:-1 -1X(1-2-15),d. 用原码表示定点整数 字长16位,包括一位符号位。 最大正数:(215-1); 最小正数:1(零除外) ; 绝对值最大的负数:-(215-1) -(215-1)X(215-1),e.用补码表示定点整数 最大正数和最小正数与原码相同。 绝对值最大的负数:-215 -215X(215-1),
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!