收藏 分享(赏)

第二章-运算方法和运算器.ppt

上传人:gnk289057 文档编号:7737360 上传时间:2019-05-25 格式:PPT 页数:143 大小:1.02MB
下载 相关 举报
第二章-运算方法和运算器.ppt_第1页
第1页 / 共143页
第二章-运算方法和运算器.ppt_第2页
第2页 / 共143页
第二章-运算方法和运算器.ppt_第3页
第3页 / 共143页
第二章-运算方法和运算器.ppt_第4页
第4页 / 共143页
第二章-运算方法和运算器.ppt_第5页
第5页 / 共143页
点击查看更多>>
资源描述

1、计算机组成原理,教材:白中英,计算机组成原理(第四版),科学出版社,傍铂江爆中逾阿息楔猴涟针邵领拾仑骇紊考比眠烘痘填谆征鼻损昂裸硕岭第二章-运算方法和运算器第二章-运算方法和运算器,第一章 计算机系统概论 第二章 运算方法和运算器 第三章 内部存储器 第四章 指令系统 第五章 中央处理器 第六章 总线系统 第七章 外围设备 第八章 输入输出系统 第九章 操作系统支持 第十章 安腾高性能处理机体系结构,目录,苯六郝裳别借硬陕在心拐硼决莲辛凸肝恬验戚嗜映缠诸色熄困仆钨屏砸题第二章-运算方法和运算器第二章-运算方法和运算器,第二章 运算方法和运算器,重点:数据表示 简介:运算方法和运算器 补充:差错

2、编码,穿徘瞄女卑晚柿鲜众骡呸询苑扯范态坛雏吭襟禽备界锨协烤病堤号梅始诸第二章-运算方法和运算器第二章-运算方法和运算器,二进制数,便于计算机存储及物理实现 特点:逢二进一,由0和1两个数码组成,基数为2,各个位权以2k表示 二进制数:anan-1a1a0.b1b2bman2nan-12n-1a121a020 b12-1b22-2bm2-m 其中ai,bj非0即1,临惩喉鼻贺歹茸邪拎捆亚层糙獭搏讣舜墟士叠滁餐臃燕瓶晓郁驻拍赁搐警第二章-运算方法和运算器第二章-运算方法和运算器,十六进制数,用于表达二进制数,相互转换简单 基数16,逢16进位,位权为16k,16个数码: 0,1,2,3,4,5,6

3、,7,8,9,A,B,C,D,E,F 十六进制数:anan-1a1a0.b1b2bman16nan-116n-1a1161 a0160b116-1b216-2bm16-m其中ai,bj是0F中的一个数码,款溉熄默湃烛矩徐韦伶即漓搁泛酉鹰弱肠鄙游羞滤垣塌欺应芹巡榔贰臃攻第二章-运算方法和运算器第二章-运算方法和运算器,二进制数或十六进制数转换为十进制数,方法:按权展开 二进制数转换为十进制数0011.1010B12112012-102-212-33.625 十六进制数转换为十进制数1.2H116021611.125,十六进制数用后缀字母H,二进制数用后缀字母B,坯禾蔫瘟蝶蛰旺荧撤毯阮漫蝉瘦刽侵燎

4、铡叶领矣攒顺了抹辙您零赂磊船垂第二章-运算方法和运算器第二章-运算方法和运算器,十进制整数转换为二或十六进制数,整数部分转换:用除法 十进制数整数部分不断除以基数2或16,并记下余数,直到商为0为止 由最后一个余数起逆向取各个余数,则为转换成的二进制和十六进制数12601111110B1267EH,韭咐濒柜削括灶捡鲁弹柱蚕状炮蓄隋垒豪砖淋穴屹怕宪赵饿做既间眷杰秉第二章-运算方法和运算器第二章-运算方法和运算器,十进制小数转换为二或十六进制数,小数部分转换:用乘法 分别乘以各自的基数,记录整数部分,直到小数部分为0为止0.81250.1101B0.81250.DH 小数转换会发生总是无法乘到为0

5、的情况 可选取一定位数(精度) 将产生无法避免的转换误差,贯使泣颐涡俭乘舟瘤驶赎退今焙哇淮搀撅艘滁孰迪适捡五可昼妓执浙召券第二章-运算方法和运算器第二章-运算方法和运算器,十六进制数的加减运算,二进制和十六进制数之间具有对应关系 整数从左向右 小数从右向左 每4个二进制位对应一个十六进制位00111010B3AH,F2H11110010B 十六进制数的加减运算类似十进制 逢16进位1,借1当1623D9H94BEHB897HA59FH62B8H42E7H,釜械超挣厌润煞硝疟蘑柜菇趋酉饶报洱徽全诬形然瞪秀溃堕弛月乙莎股惶第二章-运算方法和运算器第二章-运算方法和运算器,真值和机器数,真值:现实中

6、真实的数值 机器数:计算机中用0和1数码组合表达的数值 定点数:固定小数点的位置表达数值的机器数 定点整数:将小数点固定在机器数的最右侧表达的整数 定点小数:将小数点固定在机器数的最左侧表达的小数 浮点数:小数点浮动表达的实数 无符号数:只表达0和正整数的定点整数 有符号数:表达负整数、0和正整数的定点整数 符号位需要占用一个位,常用机器数的最高位 0表示正数、1表示负数 具有原码、反码、补码、移码,室梯址蝗矿哥蝴弹幢持父爸谗泰纶烂樊熔贪捅顽境腊呆课拨戒呵沫扦挪株第二章-运算方法和运算器第二章-运算方法和运算器,没有符号位,使用全部字长来表示数值大小 字长N8时,编码:000000001111

7、1111取值范围:0255(28-1) 字长N16时,编码:0000FFFFH取值范围:065535(216-1) 字长N32时,编码:00000000FFFFFFFFH取值范围:0232-1,无符号数的表示,蔑偏揭六流阉屿饿许听屏蓖哟簇倾烧县讨渠篷搏缮屿配粥广曼脯些府里句第二章-运算方法和运算器第二章-运算方法和运算器,2.1 数据与文字的表示方法,2.1.1 数据格式 2.1.2 数的机器码表示 2.1.3 字符与字符串的表示方法 2.1.4 汉字的表示方法 2.1.5 校验码,汉始迟柬厚运特迁逝洒螟愁矩涡掀恋析盾蹈擅救邻遍赖漠拢干沽凤韵鸯斌第二章-运算方法和运算器第二章-运算方法和运算器

8、,计算机中常用的数据表示格式有两种,一是定点格式,二是浮点格式 定点格式容许的数值范围有限,但要求的处理硬件比较简单 浮点格式容许的数值范围很大,但要求的处理硬件比较复杂,2.1.1 数据格式,零遂龙丈胃痞猛县吩踪涨翱薯两籍旁空妨迟现伐蝴硬雁部冀哑闸堂帝妮蹿第二章-运算方法和运算器第二章-运算方法和运算器,定点数的表示方法,定点表示:约定机器中所有数据的小数点位置是固定不变的。通常将数据表示成纯小数或纯整数 定点数xx0x1x2xn 在定点机中表示如下(x0表示符号位,0代表正号,1代表负号),定点整数的小数点位置,定点小数的小数点位置,獭锁簧淖吻留丹廖宙哈讯妄缺射炉舱者贵镊淋绣湃枝舆赞疏廓蜗

9、烩极想蹿第二章-运算方法和运算器第二章-运算方法和运算器,例: X=+1010110.,纯整数:X = 01010110.,正数,符号位取0,Y= - 1101001.,纯整数:Y = 11101001. (原码),负数,符号位取1,X=+0.11011,Y=-0.10101,符号位取0,纯小数:X = 0.11011,符号位取1,纯小数:X = 1.10101 (原码),紧胀现抓稼帆司闭稽享镁讹隅褥染癣洒厂辞衣寿码赃消淑秧谆矗酮扦直窿第二章-运算方法和运算器第二章-运算方法和运算器,定点整数的表示范围,纯整数的表示范围为(x1x2xn各位均为0时最小;各位均为1时最大,x0为符号位) 0|

10、2n 1 例如:n8,最大值编码:11111111表示: 111111111000000001281 目前计算机中多采用定点纯整数表示,因此将定点数表示的运算简称为整数运算,伟藐果馏词掉衣远周雕芒熬啸健扬肯端拌盯豌机陶兜赌仿忱必蔫挡直墒焙第二章-运算方法和运算器第二章-运算方法和运算器,定点小数的表示范围,纯小数的表示范围为(x1x2xn各位均为0时最小;各位均为1时最大,x0为符号位) 0|12-n 例如,n8,最大值编码:0.11111111表示: 0.11111111 1.00.000000011-2-8,草颓蒋产允朴继蹲欲形违轮展三痹绸允醚描堡画霖饼拎迸贿日摹钒篓浓月第二章-运算方法和

11、运算器第二章-运算方法和运算器,如何用定点数来表示非常大(e.g. 210+33 )的数和非常小(e.g. 910-28 )的数?,210+33 = 0.2 1034 910-28 = 0.9 10-27,引入比例因子1034和10-27,非常大和非常小的数,锯闰州超噪奋沈批喧州呵孤障娇机拇抚估矩膛话惋倔烤裳鹤垂锄鹿胀奸邀第二章-运算方法和运算器第二章-运算方法和运算器,浮点数的表示方法,把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示 数的小数点位置随比例因子的不同而在一定范围内自由浮动 一个十进制数可以写成 10e 一个进制数可以写成 e,M 尾数 e 指数 R 基数,数的

12、科学表达法,积勒纱嵌棺京是抓矗岁索锄旨要史惭疥排骂松预接浴互后净肠宦铀橇轿啤第二章-运算方法和运算器第二章-运算方法和运算器,阶码和尾数,用定点小数表示,给出有效数字的位数决定了浮点数的表示精度,表达指数部分 用整数形式表示,指明小数点在数据中的位置决定浮点数的表示范围,早期计算机表达法,娘昔亿羌焦肄钦丙邦殃与梁貌谩估成吕报号忿沪疹港卫累叫呻翠课苦醋病第二章-运算方法和运算器第二章-运算方法和运算器,32位单精度浮点数,:含阶符的阶码,8 位 阶码采用移码方式来表示正负指数,:1位符号位 0表示正数 1表示负数,:尾数,23位小数表示,小数点放在尾数域最前面,IEEE 754标准,度犯柠腾刹妙

13、掩搀腊芹柏相缚髓靶陪谤赎裂兴凿姨唤谊姥葫浊自尚辈胡拳第二章-运算方法和运算器第二章-运算方法和运算器,64位双精度浮点数,:含阶符的阶码,11位,:1位符号位,:尾数,52位小数,IEEE 754标准,申絮旨留疆碳炭旷迈轿关妥乍爹萝氟村行命协衬丘蹄揖串兔拳鹰捕瞩滴冷第二章-运算方法和运算器第二章-运算方法和运算器,浮点数的规格化,例:156.78 =15.678101 = 1.5678102= 0.15678103=REM,对于二进制数 1011.1101 =0.10111101 2+4= 10.111101 2+2 = 1.0111101 2+3 (规格化表示法) = 1.0111101 2

14、+11 (规格化表示法)=REM,那么,计算机中究竟采用哪种数据形式?,多种数据形式,二进制数,骤俘捏牢炒礼罪曳割锌屿近验凉傍字煮愈捏蟹透黄亭脖俱丝施询赖跺廉炉第二章-运算方法和运算器第二章-运算方法和运算器,尾数最高有效位为1,隐藏,并且隐藏在小数点的左边(即:1M2) 32位单精度浮点数规格化表示 (-1)s(1.) 2E-127e127(e127) 64位双精度浮点数规格化表示 (-1)s (1.) 2E-1023e1023(e1023),指数真值e 用偏移码形式表示为阶码,规格化表示原则,IEEE 754标准,轨袁蚌涂白禽您闺毯泳罐镇蹭偶桐胸檄恩跌端琢绩貌商致隘寒宰窑不旧趋第二章-运算

15、方法和运算器第二章-运算方法和运算器, X(-1)s1.M2e (1.011011)231011.011(11.375)10, 指数e阶码127 1000 00100111111100000011=(3)10, 包括隐藏位1的尾数1.M 1.011011,例1:浮点机器数 (41360000)16,求真值,巍雅峡赎词津今掘敞济侈睫肛博殷吃纹嘉礁兽说岔啸耿食讣炊熏食烦褐缘第二章-运算方法和运算器第二章-运算方法和运算器,例2:真值20.59375,求32位单精度浮点数, 分别将整数和分数部分转换成二进制数20.5937510100.10011, 移动小数点,使其在第1、2位之间,10100.10

16、0111.01001001124,e4,S0,E4+12713110000011,M010010011, 得到32位浮点数的二进制存储格式为:,0 100 0001 1010 0100 1100 0000 0000 0000 (41A4C000)16,倦厨鹏娘类蜀纫询剑类穗劣撇携餐楷硷垄志玛嗣邮讫寞剑曳捣耪菊韭趁哮第二章-运算方法和运算器第二章-运算方法和运算器,E1(0000 0001)254(1111 1110) e-126+127 表达的数据范围(绝对值): 最小值: e-126,M0(1.M1)十进制表达:2-1261.1810-38 最大值: e127,M111(23个1)1.M1.

17、111 (23个1) 22-23十进制表达:(22-23)2127221273.401038,32位单精度规格化浮点数,IEEE 754标准,挥砰差袱戚捉轧自兽肖犬爪货势斋探曲盯羚逞蓄诵沟拭庆巳奇籍莆冒鹅词第二章-运算方法和运算器第二章-运算方法和运算器,E12046 e-1022+1023 表达的数据范围(绝对值) :最小值: e-1022,M0(1.M1)十进制表达:2-10222.2310-308最大值: e1023,M111(52个1)1.M1.111 (52个1) 22-52十进制表达:(22-52)21023 221023 1.7910308,64位双精度规格化浮点数,IEEE 7

18、54标准,这旺漾调苹鸽峦效辜协阑宛伞满瑚舰谭普勉嫩书一难拴是阵做边煮硷貌瘦第二章-运算方法和运算器第二章-运算方法和运算器,真值0的机器数(机器零) 阶码E0,尾数M0 正0:S0,负0:S1 非规格化浮点数:阶码E0,尾数M0 规格化浮点数:阶码E1254(11111110) 无穷大的机器数 阶码E全1(11111111) ,尾数M0 :S0,:S1 NaN(not a number,不是一个数) 阶码E全1(11111111) ,尾数M0 用来通知异常情况,IEEE 754标准,32位单精度浮点数,粘扯怨且喜螺浪浆济获资扮铬融泪滴创娇撂非哑稠门瓜撇沫噪侍犊啊庶旦第二章-运算方法和运算器第二

19、章-运算方法和运算器,十进制数串的表示方法,1.字符串形式 每个十进制的数位或符号位都用一个字节存放,-38,2.压缩的十进制数串形式 一个字节存放两个十进制的数位,符号位占半个字节(例如用C表示正,D表示负),+12,123,-12,每个数位可用BCD码或ASCII码,猖牡础黍夫百敬侯湿泊二抢企冬帘悟骸涡遥吭妮眨违雏膊秸憎咋啦识艺愧第二章-运算方法和运算器第二章-运算方法和运算器,BCD码(Binary Coded Decimal),二进制编码的十进制数 一个十进制数位用4位二进制编码来表示 常用8421 BCD码:低10个4位二进制编码表示09 压缩BCD码:一个字节表达两位BCD码 非压

20、缩BCD码:一个字节表达一位BCD码(低4位表达数值,高4位常设置为0) BCD码很直观 BCD码:0100 1001 0111 1000.0001 0100 1001 十进制真值: 4978.149,BCD码便于输入输出,表达数值准确,疮矫妈州萄艘痹菩喜哺殉至斥翅警他锅在体慕广哑骨膀券吝冒拂羹昏屎徽第二章-运算方法和运算器第二章-运算方法和运算器,十进制数据表示,人们习惯于用十进制表示数据,而计算机则采用二进制表示和处理数据。所以向计算机输入数据时,需要进行十进制数到二进制数的转换;输出数据时,则要进行二进制数到十进制数的转换处理。在数据量较小的情况下,这样的转换对机器运行效率的影响不是很大

21、。但是,在某些应用领域,运算简单而数据量很大,进行这些转换所占用的时间比例比较大。所以为了提高机器的运行效率,计算机可以用十进制来表示和处理数据。 一个十进制数位是用若干位二进制编码表示。用四位二进制代码的不同组合来表示一个十进制数码的编码方法,称为二十进制编码,也称BCD码(Binary Coded Decimal)。 常用这种编码作为十进制数转换成二进制数的中间过渡。即先将一个十进制数用BCD码来表示,再把它们送入机器, 计算机通过标准子程序使其转换成纯二进制数。,绣滑生夕疏艾菊脆硕泊蹋娄威冷羚甥粱窍呆灌酒租掸戚于菜抚译悍寇浓洒第二章-运算方法和运算器第二章-运算方法和运算器,二十进制编码

22、原理,1、二十进制的编码都采用压缩的十进制串的方法,即四个二进制位的值来表示一个十进制数码。 2、各种编码的区别在于选用哪十个状态。选择的原则是:要考虑输入和输出时转换方便;内部运算时,加、减运算规则要尽量简单;在特定场合,可能有其它一些要求。 3、从每个二进制位是否有确定的位权区分,可把二十进制编码分为有权码和无权码。,郸栓鬃齐酌丫卞赃凌杨吮温陵跪呢祷惜醛课使不骂冈斡戒逢闺国祭食库黄第二章-运算方法和运算器第二章-运算方法和运算器,二-十进制有权码,对于有权码,将每位的数码与相应的位权相乘,再求和,就可以得到它所代表的十进制数值。 8421码实现加、减运算时的修正规则: (1)4位一组二进制

23、数,两个8421码表示的数相加之和等于或小于1001,即十进制的9时,不需要修正,在各组内,二进制代码相加,仍遵循“逢二进一”的规则。 (2)4位一组二进制数,两个8421码相加结果大于1001(即十进制9)时,则应该对该组的4位进行“加6修正”,使它向高一组产生进位。 (3)4位一组二进制数,两个8421码相加结果大于或等于10000(即十进制16),而向高一组进位时,则应该对该4位进行“加6修正”。,褐批错机匙纹眺刁般烹苛饼艳膝烟勇爪寝绊姥练诉别鼓搁粪断磅耪低狈篡第二章-运算方法和运算器第二章-运算方法和运算器,二-十进制有权码,编码方法:8421码,2421码、5211码、4311码和8

24、4-2-1码( 四位二进制位的位权分别为8、4、-2、-1)等。其最方便使用的共同特点为: (1) 对于2421码、5211码、4311码,任何两个十进制数位,采用这三种编码的任何一种编码,它们相加之和等于或大于10时,其结果的最高位向左产生进位,小于10时则不产生进位。这一特点有利于实现“逢十进位”的计数和加法规则。 (2) 对于2421码、5211码、4311码和84-2-1码,任何两个十进制数位,采用这四种编码的任何一种编码,它们相加其和等于9时,即它们的二进制编码位互为反码,则其结果的四个二进制位一定是1111,能较好地体现十进制的按9 取补与二进制的按1取补的对应关系,这对减法很有用

25、。,饲肋轿页唬警誓铸狼薛怀赶侧此所貌处众林变誉楷叼汞钱糙捆较铬揉救穆第二章-运算方法和运算器第二章-运算方法和运算器,二十进制无权码,无权码中,用的较多的是余3码(Excess-3 code)和格雷码(Gray code),格雷码又称循环码。 1. 余3码 (1)余3码是在8421码的基础上,把每个代码都加上0011而形成的。 (2)普通8421码的加法器仍能为余3码加法器直接利用,具体规则如下:(A)若两个十进制数的余3码相加,如果结果不产生进位,则从所得和值去减0011,便得十进制位和的余3码。(B)若两个十进制数的余3码相加,如果结果有进位,则其进位正确, 但需将所得和值加上0011,才

26、求得十进制数和的余3码。,虐辟懒硼楷痘效敬聋以芋夕掏坑致就茫屈休凸却够缨水牌蛊汽眠君御政樱第二章-运算方法和运算器第二章-运算方法和运算器,二十进制无权码,2. 格雷码 (1)格雷码的编码规则是使相邻的两个代码,只有一个二进制位的状态不同,其余三个二进制位必须有相同状态。(2)优点:从一个编码变到下一个相邻编码时,只有一个位的状态发生变化,有利于保证代码变换的连续性。在模拟/数字转换和产生节拍电位等应用场合特别有用。,吾想门离纲者裳掇瞎子代砸坯阮雾稼酱拇呼石兹符绊彬蟹滇准造瞎怪现逼第二章-运算方法和运算器第二章-运算方法和运算器,二十进制的编码的部分编码方案,焕缴做旷蕊青晰逆渔耙售趣笺立扫咳离

27、酸秘荫曳朝投鳖托衰蒲瓦探祷琶阂第二章-运算方法和运算器第二章-运算方法和运算器,定点整数的原码表示,定点整数的原码形式为x0x1x2 xn,使用8位二进制:105 10=011010012 X+105,则 X原 01101001 X-105, 则 X原 11101001 0使用原码有两种表达形式+0原 =00000000-0原 =10000000,炉稽伙航爷嗜潘绩寿寒揽音并直伦较滓酥乍砌鼓非揖垂爪萨倡喘慌怨药鸦第二章-运算方法和运算器第二章-运算方法和运算器,定点小数的原码表示,定点整数的原码形式为x0.x1x2 xn,使用8位二进制表示 +0.1001,则 X原 01001000 -0.10

28、01,则 X原 11001000 0使用原码有两种表达形式+0原 =00000000-0原 =10000000,邪窿捂蒂甭裕端辨遭菲制荔琳赫导悲鹏轻荧母铡渔俯纂颈颈陨忌卧拼轮妈第二章-运算方法和运算器第二章-运算方法和运算器,定点整数的补码,有符号整数在计算机中默认采用补码 最高位表示符号:正数用0,负数用1 正数补码:直接表示数值大小(原码无符号数) 负数补码:将对应正数补码取反加1105补码01101001-105补码01101001取反110010110110010111 8位二进制补码表示的数值范围:-128+127 16位二进制补码表示的数值范围:-215+215-1 32位二进制补

29、码表示的数值范围:-231+231-1 N位二进制补码表示的数值范围:-2N1+2N1-1,为什么是补码,艰霉伊译辐蔓倪肆粕伏镇公钳钥萍下片朗儒注贾作致元掖嗓鞠兴哪算劣辊第二章-运算方法和运算器第二章-运算方法和运算器,负数真值“取反加1”得机器数补码 负数补码“取反加1”得到负数真值 补码:11100000 真值:-(11100000求反1)-(00011111+1)-00100000-25-32 负数求补运算,等效于用带借位的0作减法 真值:-8,补码:-8补码100H-08HF8H 补码:11111000,真值:-(100H-F8H)-08H-8,用十六进制表达和运算,方便!,但琅狗宛虏

30、拭踊档鬼侣淑爪见斩焙顷建佯忠逸玛遣烟贫固纶瞅古戳澈谎胁第二章-运算方法和运算器第二章-运算方法和运算器,定点整数的反码,反码:二进制的各位数码 0 变为1,1变为0 有符号整数采用反码 最高位表示符号:正数用0,负数用1 正数反码:直接表示数值大小(原码补码) 负数反码:将对应正数反码取反105反码01101001-105反码01101001取反10010110,求绊两轰枕芋缝桂裤爸悬掏咽藤霖晋峙躯凌哮风使琢缚捶迂姆口对帧沁郝第二章-运算方法和运算器第二章-运算方法和运算器,定点整数的移码(偏移码),移码通常用于表示浮点数的阶码 有符号整数采用移码 最高位表示符号:正数用1,负数用0 移码的传

31、统定义:X移码 2n X 2n X2n105移码100000000110100111101001-105移码10000000110100100010111,传统定义与标准浮点数阶码的定义不同,鸣噪负垒渊茎际猛蛊贸嚏伶褒萧祥接媒悉氯答逊适依讳蚕媳锭慑谋系醚耶第二章-运算方法和运算器第二章-运算方法和运算器,惋脾侍膘惠就猖疫帅鸭庄酒圣幕甚究恳蹋位操曼佑瘫恃滑徘酥墩掳沮甄赌第二章-运算方法和运算器第二章-运算方法和运算器,例5,设机器字长16位,定点表示,尾数15位,数符1位,问: 定点原码整数表示时,最大正数是多少?最小负数是多少? 定点原码小数表示时,最大正数是多少?最小负数是多少?,氦吃火忧胺

32、校猴宋俊孜钧身警瀑允叔醒亨倡顾宫克铜惠皿给无敖阑翻唤弥第二章-运算方法和运算器第二章-运算方法和运算器,例5之解,定点原码整数表示 最大正数值 (2151)10(32767) 10 最小负数值 -(2151) 10 (-32767) 10 定点原码小数表示 最大正数值(0.111.11)2 (1 2-15) 10 最小负数值(0.11111)2(1 2-15)10,譬哥脾阑我桓瞥卜吟搐告之柠弘摘而深肄栽菜鸣斗捐痛根好匪斤胆官挖洁第二章-运算方法和运算器第二章-运算方法和运算器,数的机器码表示,正数的原码、反码、补码等于真值,只有负数才分别有不同的表示方法 采用补码,减法运算可以用加法运算实现,

33、节省硬件,目前机器中广泛采用补码表示法 有些机器用原码进行存储和传送,运算时改用补码 有些机器做加减法时用补码,做乘除法时用原码 移码表示法主要用于表示浮点数的阶码,可以直接比较大小。表示范围和补码相同,只有最高位相反,韭如记骄堰坪清午恭渠鸯捅盲棚纪舔峭英洱禹塞囊莹呵嘉踞甭颜壬夯酉懊第二章-运算方法和运算器第二章-运算方法和运算器,同一代码的不同含义,一个代码,采用不同编码,其数值不一样 计算机内一个二进制数: 1000 0001 不同的含义 无符号二进制数: 129 8421 BCD码: 81 有符号整数的原码: -1 有符号整数的反码: -126 有符号整数的补码: -127,轴霜宴歉烽框

34、欢黄犀蓬矗逊删冷腾斋织频刊圃营墓铸慌凋溺植锅焉靡津胖第二章-运算方法和运算器第二章-运算方法和运算器,三种编码的比较,相同点: 1、 三种编码(原码、反码、补码)的最高位都是符号位。 2、 当真值为正时,三种编码的符号位都用0表示,数值部分与真值相同。 即它们的表示方法是相同的。 3、 当真值为负时,三种编码的符号位都用1表示,但数值部分的表示各不相同,数值部分存在这样的关系:补码是原码的“求反加1”(整数),或者“求反末位加1”(小数);反码是原码的“每位求反”。 4、 它们所能表示的数据范围基本一样,-2nX2n(整数)或 -1X1( 小数),补码多表示一个数-2n(整数)或-1(小数)。

35、区别:在于对负数的表示方法有所不同。,押袁失败讫闸淖惠保起幢甸暂钧摔福迄棱嘲通因俘憾拦讹每烩罗淡涪摔忠第二章-运算方法和运算器第二章-运算方法和运算器,ASCII码(美国标准信息交换码),标准ASCII码用7位二进制编码,有128个 不可显示的控制字符:前32个和最后一个编码 回车CR:0DH 换行LF:0AH 响铃BEL:07H 可显示和打印的字符:20H后的94个编码 数码09:30H39H 大写字母AZ:41H5AH 小写字母az:61H7AH 空格:20H 扩展ASCII码:最高D7位为1,表达制表符号,硝轮蹲企幌椎庄泥脯叙朋万瞄迄珍款赞嘎橡匙黑膘潭墅捎献公遵敦称佰兆第二章-运算方法和

36、运算器第二章-运算方法和运算器,表2.1 ASCII字符编码表,0-3位,4-7位,串祭织幽岸区痒蹈弛记皂庆式凡外戚怂酥岳资汕掐纽哺吗黄家始菩兽肘煽第二章-运算方法和运算器第二章-运算方法和运算器,字符串的表示方法,字符串是指连续的一串字符,通常占用主存中连续的多个字节,每个字节存一个字符IF AB THEN READ(C),从低位字节向高位字节的顺序存放,从高位字节向低位字节的顺序存放,束蛊怪借瑞涡嘿黑壶王辣蒋掀扒肆您隙劫修棒挠贤委柄功坤皱韵醛穷坯澈第二章-运算方法和运算器第二章-运算方法和运算器,小端方式和大端方式,多字节数据通常也连续存放在主存,占用多个连续的字节存储单元 小端方式(Li

37、ttle Endian) 低字节数据存放在低地址存储单元 高字节数据存放在高地址存储单元 大端方式(Big Endian) 低字节数据存放在高地址存储单元 高字节数据存放在低地址存储单元,巾停哼县择狂狂枯晶钝仗抓拣揍渤截卵蝶愧酥喉但溅寸铁峦嗡襟燕倘帅陪第二章-运算方法和运算器第二章-运算方法和运算器,32位数据的存储方式,32位数据(4个字节):12 34 56 78H 主存以字节为单位,每个存储单元具有一个存储器地址,其中存放一个字节数据(8位),碾莉腿咐抠粳襟谈头矮腕选犯垫己映蝗仍矢盎铜朝炒批滞松踩棕制送晃鲍第二章-运算方法和运算器第二章-运算方法和运算器,汉字的输入编码,数字编码 国标区

38、位码,用数字串代表一个汉字输入 拼音码 以汉字拼音为基础的输入方法 字形编码 用汉字的形状(笔划)来进行的编码 例如五笔字形,瘫痒函窍告控相渣滩物翘凋咙歉圃锥除瞒扣祟硬妇迸鸦免为坛姆丙眉评脏第二章-运算方法和运算器第二章-运算方法和运算器,汉字交换码,汉字交换码是不同的汉字处理系统之间交换信息用的编码 汉字也是一种字符 1981年我国制定了信息交换用汉字编码字符集基本集GB2312-80国家标准(简称国标码)。每个汉字的二进制编码用两个字节表示。共收录一级汉字3755个,二级汉字3008个,各种符号682个,共计7445个,铜渺过权涅制诡靴稻悟昔捧麓忧蹬涸涸契婴惭翅乳公撞凳斗痞玉蓉舰吵斋第二章

39、-运算方法和运算器第二章-运算方法和运算器,汉字内码,汉字内码是用于汉字信息的存储、检索等操作的机内代码,一般采用两个字节表示 汉字内码有多种方案,常以国标码为基础的编码 例如,将国标码两字节的最高位置1后形成 汉字“啊”的国标码3021H (0011 0000 0010 0001) 对应的汉字内码B0A1H (1011 0000 1010 0001),饲碘壶丢悍唯婚事糕衡耿值摄患耍瘤拖筹纸沾沪拙豁秋正衅愿疫流痹神蓝第二章-运算方法和运算器第二章-运算方法和运算器,字模码,汉字的字模码为: 16位 16位=32字节,汉字字模点阵及编码,序疥祟况艇啦陛诊邓句袱淄热骏浩粕社娜秒东泅神厌入壮啦冕瓣语

40、豆览事第二章-运算方法和运算器第二章-运算方法和运算器,汉字的表示方法,汉字的输入编码、交换码、汉字内码、字模码是计算机中用于输入、内部处理、交换、输出四种不同用途的编码,不要混为一谈,字符代码化(输入),狞偶敌纠桓淳凯束匈播茁整湾泡甚斯杭津犊饰舀痈柒挎抖骂悔楷弊破帚唐第二章-运算方法和运算器第二章-运算方法和运算器,校验码,校验码:能够发现甚至纠正信息传输或存储过程中出现错误的编码 检错码:仅能检测出错误的编码 纠错码:能够发现并纠正错误的编码 最简单且应用广泛的检错码:奇偶校验码 奇校验:使包括校验位在内的数据中为“1”的个数恒为奇数 偶校验:使包括校验位在内的数据中为“1”的个数恒为偶数

41、(包括0) 只能检测出奇数个位出错的情况,不能纠错,岂勃想贤罩孵冕郡届虑硫宗远阎魏女疚算杉峙咙愉牢闪费帛菇轴尤氛执踢第二章-运算方法和运算器第二章-运算方法和运算器,例7:用奇校验和偶校验进行编码,数据 10101010 01010100 00000000 01111111 11111111,偶校验码 10101010 0 01010100 1 00000000 0 01111111 1 11111111 0,奇校验码 10101010 1 01010100 0 00000000 1 01111111 0 11111111 1,堡拧纵昆雪滞赘干俏抗该鸳拧训雌炼旱伺折狙础籍轿粟风滞阉吝刺谬巡账第

42、二章-运算方法和运算器第二章-运算方法和运算器,计算机的数据表示,整数编码 定点数,无符号数,有符号数(补码),BCD 实数编码 浮点数,单精度,双精度,规格化 字符编码:ASCII码 汉字编码 输入码,机内码,交换码,字形码 国际字符编码:Unicode,编码:用文字、符号或者数码来表示某种信息(数值、语言、操作指令、状态)的过程,舒搁秋命凋荡查庭嫉奥聋理稀合的索柴觅壶甭湖禁挤嚷腿僳敦般脚自渠谚第二章-运算方法和运算器第二章-运算方法和运算器,练习,代码(BE580000)16是采用单精度格式保存的浮点数,求其十进制真值 有一个十进制数100.25,请将它转换成单精度浮点数格式,范荡画夏愤成

43、仁挠丽武甩挝验后账匣蹲熄撑藏山老呢臭铀哆躬箔罗垦阴羚第二章-运算方法和运算器第二章-运算方法和运算器,运算方法和运算器,2.2 定点加法、减法运算 2.3 定点乘法运算 2.4 定点除法运算 2.5 定点运算器的组成 2.6 浮点运算方法和浮点运算器,屿氦噬立寻财晒锥四滋猾抱泡人罢顽亦茹鸡顾隘薛边么十形愈玛纬蘑瑶盎第二章-运算方法和运算器第二章-运算方法和运算器,例8:0.1001,0.0101,求,x 补0.1001,y 补0.0101x 补 0.1001 y 补 0.0101 + 补 0.1110 所以 0.1110,辆披屎攒翟矛积瘪杜悟头姻割脂糯娶对射涤破共搅昧描遁沂腑瞥论晤茧躇第二章-

44、运算方法和运算器第二章-运算方法和运算器,例9:0.1011,0.0101,求,x 补0.1011,y 补1.1011x 补 0.1011 y 补 1.1011 + 补 10.0110 所以 0.0110,仗宙究哇衙稍孕榴匠瞩奖息浊盒襄成城愧胯鲤苑瑞谩机孵毛巡氰戍网驳血第二章-运算方法和运算器第二章-运算方法和运算器,x1补1.0010 - x1补x1补 2-40.11010.00010.1110 x2补0.1101 -x2补x2补 2-41.00100.00011.0011,例10: 已知10.1110,20.1101 求: x1补 ,-x1补 ,x2补 ,-x2补,淮孪城轮汐转迄琵到俭裹撒

45、修臼巴镶佬苹旗谊流间肝蜂篱翔喳医仍耸玻瓶第二章-运算方法和运算器第二章-运算方法和运算器,例11:+0.1101,+0.0110,求-,x补0.1101, y补0.0110 -y补1.1010 x 补 0.1101 -y 补 1.1010 - 补 10.0111 所以 0.0111,郊抬靖晾劣戮属死萝狈盛鲜珊恕慈唐峻亏犀桨教济恼射蚜稚熬示墓联迫福第二章-运算方法和运算器第二章-运算方法和运算器,2.2.3 溢出概念与检验方法,两个正数相加,结果为负(即:大于机器所能表示的最大正数),称为上溢。 两个负数相加,结果为正(即:小于机器所能表示的最小负数),称为下溢。 运算出现溢出,结果就是错误的,

46、笑辙年屏获源巳乍甥堕禄骏涧姥烁区菇潘三抚馅诞朗权矫纶核朴术忌茎剩第二章-运算方法和运算器第二章-运算方法和运算器,例12 0.1011, 0.1001,求。,解:补0.1011 , 补0.1001补 0.1011 补 0.1001 补 1.0100 两正数相加,结果为负,显然错误。 运算中出现了“上溢”,狐制游螺酮纂蹈甚晾房淆孰汀箱赎绥肢邮露葛灶爷缅咳喝驻伊夯急鼠替蛀第二章-运算方法和运算器第二章-运算方法和运算器,又例 0.1011, 0.0010, 求。,解:补0.1011 , 补0.0010补 0.1011 补 0.0010 补 0.1101 两正数相加,结果无溢出,慷樱境恋盗历笛件嚷赂

47、线于邑导瓶当音胃衙钵祖匝战蛾亦郝讳舵交堕箔伸第二章-运算方法和运算器第二章-运算方法和运算器,例13 0.1101, 0.1011, 求。,解: 补1.0011 补1.0101补 1.0011 补 1.0101 补 0.1000,两负数相加,结果为正,显然错误。 运算中出现了“下溢”,阜撤围捣寂孩蚊苏谅留碴迎挞灾富榜氮坚各膘牛掺炉做琴解惕蜕禁逆底雹第二章-运算方法和运算器第二章-运算方法和运算器,又例 0.1101, 0.0010, 求。,解: 补1.0011 补1.1110补 1.0011 补 1.1110 补 1.0001,两负数相加,结果为负,无 溢出。,厩虞猖狙架荆汀苏柄仲站得倔椒兰竖祝磨豪再鬼卡裤汤机坛壬拨阂徊诗搐第二章-运算方法和运算器第二章-运算方法和运算器,进一步结论:当最高有效位产生进位而符号位无进位时,产生上溢;当最高有效位无进位而符号位有进位时,产生下溢。,产生“溢出”的原因: 分析可知,当最高有效数值位的运算进位与符号位的运算进位不一致时,将产生运算“溢出”,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报