




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章 计算机中数的表示和计算一、定点数表示* 小数点位置固定,放在字首称小数定点,放在字尾称整数定点* 定点表示机器只能表示纯的整数或纯的小数,不能表示实数1、无符号数:最高位不是符号位 (1)整数定点:小数点放在字尾 例:以8位二进制为例,格式如下:S1S2S3S4S5S6S7S8 0 0 0 0 0 0 0 0 真值为0 0 0 0 0 0 0 0 1 真值为1 1 1 1 1 1 1 1 1 真值为281=255 (2)小数定点:小数点放在字首 例:以8位二进制为例,格式如下:S1S2S3S4S5S6S7S80.0 0 0 0 0 0 0 0 真值为00.0 0 0 0 0 0 0 1 真值为2-8 0.1 1 1 1 1 1 1 1 真值为12-82、有符号数:最高位是符号位,有效数值相应少一位 (1)整数定点:小数点放在字尾,最高位为符号位Sf Sf S1S2S3S4S5S6S7 (2)小数定点:最高位为符号位Sf,小数点放在Sf之后Sf S1S2S3S4S5S6S73、有符号数的码制 (1)原码* 数值不变,正数符号位Sf =0,负数符号位Sf =1,“0”值形式不唯一例: X = +1010 则X原 = 0,1010 X = -1010 则X原 = 1,1010 (2)补码* 正数符号位Sf =0,负数符号位Sf =1* 正数数值不变,负数数值各位取反,末位加1* “0”值形式唯一例: X = +1010 则X补 = 0,1010 正数形式与原码一样 X = -1010 则X原 = 1,0101 + 0001= 1,0110附加:* 已知一个补码,求其负值的补码,只需连同符号位一起,各位取反,末位加1* 变形补码:符号位取两位,则其含义如下:00表示正数、11表示负数、01表示正溢出、10表示负溢出 (3)反码* 正数符号位Sf =0,负数符号位Sf =1* 正数数值不变,负数数值各位取反* “0”值形式不唯一例: X = +1010 则X反 = 0,1010 正数形式与原码和补码一样 X = -1010 则X反 = 1,0101 (4)移码* 正数符号位Sf =1,负数符号位Sf =0,与前三种码不同* 正数数值不变,负数数值各位取反,末位加1,与补码相同* “0”值形式唯一例: X = +1010 则X反 = 1,1010 X = -1010 则X反 = 0,0101+ 0001= 0,0110 与补码就符号位不同特点:直接从码的数值上,就可以判断出其真值的大小关系二、浮点数表示 * 小数点的位置可以浮动,通过改变阶码值来实现1、格式S1S2SnSfJ1J2JmJf阶码阶符尾数尾符数学意义: N = S 2J,S用纯小数,表数的精度,J用纯整数,表数的范围例:设上述浮点格式n为8位,m为6位,均用补码,把(-17.25)表示成浮点数。则(-17.25)二进制数对应为(-10001.01),变成数学形式(-0.10001012101),其中除了阶底2为十进制数,其余皆为二进制,阶码为101(即十进制的5),尾数小数点左移了五位。按上述格式补齐数位,尾数在数后补0,阶码在数前补0。则上数变为(-0.100010102000101),尾数补码(1,01110110),阶码补码(0,000101)。该数值整体表示成:0,000101;1,01110110。2、表数范围(仅描述正数区间,负数只差符号)|X|MAX(1-2-n)2K,其中K2m-1|X|MIN(2-n)2-K,其中K2m-1注意:此区间没包括0值3、0值的浮点表示* 理解尾数的真正意义,表示数值序列,只是没有小数点* 理解阶码的真正意义,表示小数点的具体位置,正数在数值序列的后面(值变大),负数在数值序列的前面(值变小)* 0值的表示:数值序列为0,且值变为最小(阶码为负值,且绝对值最大)例:设上述浮点格式n为8位,m为6位,均用补码,表示0值。则0值表示成,尾数(0,00000000) ,阶码(1,000000),阶码为负值,且绝对值最大。该0值整体表示成:1,000000;0,00000000。注意:浮点0值若用补码表示则不是全0形式,硬件判断麻烦,所以有的机器数阶码用移码表示,尾数还用补码。4、规格化原因:保证有效数值尽可能最大化形式:要求1|S|(1/2),即尾数第一位S11表数范围:|X|MIN(2-1)2-K,其中K2m-1,|X|MAX同上5、定点数与浮点数的比较 (1)字长一定时,定点表数精度高,浮点表数范围大; (2)字长不同时(通常浮点表示字长要比定点表示长),浮点表数即精度高,又范围大; (3)浮点运算比定点运算慢,浮点数是两部分,要分别处理; (4)判断溢出时,定点数判断数值本身,浮点数判断阶码。三、定点数的运算1、移位运算 (1)逻辑移位:最高位不是符号位 规则:左移低位补0,右移高位补0 (2)算术移位:最高位为符号位,保持不变,仅对数值操作 规则:正数数值操作,左移低位补0,右移高位补0,不考虑码制 负数数值操作,原码时,左移低位补0,右移高位补0反码时,左移低位补1,右移高位补1补码时,左移低位补0,右移高位补1 (3)算术移位对结果的影响 正数数值操作时,不考虑码制,左移高位丢1,错误,右移低位丢1,误差 负数数值操作时,原码时,左移高位丢1,错误,右移低位丢1,误差 反码时,左移高位丢0,错误,右移低位丢0,误差 补码时,左移高位丢0,错误,右移低位丢1,误差注意:负数的补码可以理解为原码和反码的组合体,左为反码,右为原码2、加减法运算 * 仅描述补码规则,因为补码减法实际也是加操作,硬件简单,没有减法器 基本公式:A补B补S补 (mod M) A补B补A补B补S补 (mod M)规则:加法直接加上加数的补码,减法加上负值加数的补码注意:已知加数的补码,只需把其连同符号位一起,各位取反,末位加1,即为其负值加数的补码 溢出判断规则:同号相加,结果异号,则溢出 * 判断A0B0且A0S0是否同时成立,成立即溢出附加:(1)一位加法器逻辑组成,某位运算对应关系如下:AiBiSi(和值)Ci(对应的进位)0000011010101101则上述对应的逻辑关系为:SiAi 异或Bi ,CiAi 与Bi * 计算机其实是一种逻辑,不是真的计算,所有的运算均通过逻辑实现对应的逻辑关系图如下(可有数字电路实现):与门异或门AiBiSiCi习惯上,在书上的讲解中把具体内容省略,再加上一个低位进位,抽象为下图: FAiAiBiSiCiCi+1(2)多位加法器的逻辑组成,下图以四位为例,1位为高位,4位为低位FA1A1B1S1C1C2FA2A2B2S2C2C3FA3A3B3S3C3C4FA4A4B4S4C4C外(3)并行补码加法器逻辑组成,n+1位(n位数值,1位符号位)GAVAAA0AnXX0Xnn+1位FAGsGs为减法标记,控制加数(当减法有效,X里各位取反,无效时,X里值不变)3、乘法运算(1)原码一位乘* 手算的计算机仿真,运算时符号单处理,绝对值参与运算* 计算机中数多为补码,所以运行时需码制转换规则:根据乘数yi的数值来决定如何运算当yi0时,部分积加|x|,然后部分积右移一位当yi1时,部分积加0,然后部分积右移一位例:x原1.1110,y原1.1101,求x*y原符号单处理,x01,y01,则积符x0异或y00运算时用绝对值,|x|0.1110,|y|0.1101,运算过程见下表部分积z乘数y操作说明 0.0000+0.1110 1101加|x| 0.1110 0.0111+0.00000 110右移一位加0 0.0111 0.0011+0.111010 11右移一位加|x| 1.0001 0.1000+0.1110110 1右移一位加|x| 1.0110 0.10110110 右移一位 则x*y原0.10110110小结:假设字长n位(不含符号位,上例n=4)* 部分积取n+1位,多的一位不是符号位,而是缓冲位,n位加法和可能为n+1位* 乘数取n位,仅取数值字长,不含符号位* 进行了n次加法,n次移位,加0也算一次* 移位采用逻辑移位规则,部分积和乘数一起参与* 计算过程中,若部分积最高位z0为1,不认为溢出,继续运算(2)补码一位乘* 补码运算过程中,补码直接参与运算,即符号位参与运算布斯比较规则:根据乘数yi和附加的yi+1的数值来决定如何运算当yi yi+100时,部分积加0,然后部分积右移一位当yi yi+101时,部分积加x补,然后部分积右移一位当yi yi+110时,部分积加-x补,然后部分积右移一位当yi yi+111时,部分积加0,然后部分积右移一位例:x补0.0011,y补1.0111,求x*y补计算时部分积取两位符号位,上述x补的相应数值如下:x补00.0011,符号位两位,11表示负数,00表示正数-x补11.1101,负值补码,连同符号位一起,各位取反,末位加1运算过程见下表部分积z乘数y 附加yi+1操作说明 00.0000+11.110110111 0加-x补 11.1101 11.1110+00.00001 1011 1右移一位加0 11.1110 11.1111+00.000001 101 1右移一位加0 11.1111 11.1111+00.0011101 10 1右移一位加x补 00.0010 00.0001+11.11010101 1 0右移一位加-x补 11.11100101 则x*y补1.11100101小结:假设字长n位(不含符号位,上例n=4)* 部分积取n+2位,多的两位一位是符号位,另一位是缓冲位,因补码运算符号参与运算,实际上是n+1位的加法,则和可能为n+2位* 乘数取n+1位,符号参与运算,尾部再附加yi+1,初始yi+1为0* 进行了n+1次加法,n次移位,最后一次只加不移位* 移位采用补码算术移位规则,仅两位符号的最高位保持不变,即仅两位符号的最高位为真实的符号位,另一位符号位是缓冲位,部分积和乘数一起参与* 运算的结果即为补码,不需要再转换(3)补码一位乘法器的逻辑结构GMXX0Xn+1n+2位FA控制门译码器AA0An+1QQ0Qn+1Qn译码器为2:4译码,控制门为与或门4、除法运算补码加减交替规则:符号参与运算(1)初始操作,如果被除数x补与除数y补符号相同,上商0,执行x补y补r补 如果被除数x补与除数y补符号不同,上商1,执行x补y补r补(2)后续操作,如果余数r补与除数y补同号,上商1,执行2r补y补,生成新的r补 如果余数r补与除数y补异号,上商0,执行2r补y补,生成新的r补例:x补1.0101,y补0.1101,求x/y补计算时余数取两位符号位,则x补的相应变为x补11.0101,计算时需要-y补11.0011运算过程见下表余数商操作说明 11.0101+00.11010.0000商初始值全0x补与y补异号,y补 00.0010 00.0100+11.001111r补与y补同号,商12r补,即左移一位-y补 11.0111 10.1110+00.1101 1010r补与y补异号,商0左移一位y补 11.1011 11.0110+00.1101 100100r补与y补异号,商0左移一位y补 00.0011 00.0110100110011r补与y补同号,商1左移一位,末位恒1 x/y补1.0011小结:假设字长n位(不含符号位,上例n=4)* 余数取n+2位,多的两位一位是符号位,另一位是缓冲位,因补码运算符号参与运算,实际上是n+1位的加法,则和可能为n+2位* 商取n+1位,上商n+1次,第一次上商判断是否溢出,最后一次恒置1* 进行了n次加法,n次移位* 移位采用逻辑移位规则,最高位舍掉,低位补0* 运算的结果即为补码,如首位符号和逻辑不符,则溢出注意:仅乘法没有溢出,加、减、除均有溢出可能四、浮点数的运算1、浮点数的加减运算设X = Sx 2Jx,Y = Sy 2Jy,计算XY(1)对阶:对齐两数的阶码* 原则是小阶向大阶对齐(2)尾数求和:对齐阶码后,计算SxSy(3)规格化* 习惯上符号取两位* 判断形势(补码规则):00.1或11.0* 左规:当尾数为00.0或11.1时,左移尾数,直至符号位与小数点后第一位互异为止* 右规:当尾数为01.或10.时,右移尾数,只需一次注意:左规和右规二者只需做一种,判断时,先看是否右规,再看是否左规(4)舍入处理* 0舍1入:丢掉的数值最高位如为1,保留的数值末位加1,否则加0* 末位恒1:保留的数值末位置1(注意不是加1)例:设X =0.1101201,Y =-0.1010211,其中除了阶底2为十进制数,其余皆为二进制,计算XY,字长格式(2+3;2+6),均采用补码。则 X补00,001;00.110100 Y补00,011;11.011000对阶 阶差Jx补-Jy补00,00111,10111,1100 对X的阶码,X补变为00,011;00.001101尾和 和的尾数Sx补Sy补00.00110111.01100011.100101 XY补00,011;11.100101* 对阶之后的阶码,求尾数和之后的尾数和规格化 上述结果尾数形式判断,不需右规,需要左规(仅需一位即可) XY补变为00,010;11.001010 /尾数左移一位,阶码减1判断溢出 阶码没有溢出,上述值为结果2、浮点数的乘除运算运算步骤:(1)阶码相加减(2)尾数相乘除(3)规格化(4)判断溢出结论:浮点运算其实是通过定点运算完成的五、面向错误检测与纠错的数据编码*编码最小距离:某种编码系统中,任意两个相邻码之间最少的二进制不同位数(用L表示)*纠错理论: L1DC 且 DC (其中D代表检测错码个数、C代表纠正错码个数)1、奇偶校验码*正常编码码距L均为1,套用上述纠错理论公式,结果是既不能检错,也不能纠错*要想检错只能增加码距,奇偶校验码附加一位,下表在码末位附加一位,码距L变为2十进制数自然BCD码(NBCD)奇校验码偶校验码012345678900000001001000110100010101100111100010010000100010001000011101000010110110101110100001001100000000110010100110010010101001100011111000110010特点:(1)原理简单,宜于实现。(2)只能检错,不能纠错,即知道有数位出错了,具体是哪一位不能确定。处理的方法只能是重新处理一遍。2、海明码(Hamming)* 附加多位,使码距大于2,则D和C均可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中级光伏系统安装操作规范及安全知识测试题库
- 拇外翻护理查房课件
- 2025秋人教版(2024)一年级上册一 5以内数的认识和加、减法 0的认识和加、减法练习题及答案
- 2025年便携式地质雷达项目建议书
- 2025年光伏发电用控制器合作协议书
- 抢修安全培训工作课件
- 2025年智能分拣系统合作协议书
- 吉林省长春市北湖学校2025-2026学年上学期九年级开学考数学试卷(含部分答案)
- 抗菌内衣洗涤液课件
- 鞋类考试试卷及答案
- 辽宁省名校联盟2025年高三9月份联合考试 生物试卷(含答案解析)
- 煤矿干部考核管理办法
- (2025秋新修订)人教版三年级数学上册全册教案(教学设计)
- 肺结节CT判读课件
- 2025港口安全知识试题及答案
- 新版人教版二年级上册数学全册1-6单元教材分析
- 2025年国家心力衰竭诊断和治疗指南
- 2024-2025学年北京市海淀区三年级(下)期末数学试卷
- 孕期产检的课件
- 奶茶设备知识培训课件
- 食品添加剂与调味品生产工艺作业指导书
评论
0/150
提交评论