




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章 数据运算,数据运算分类: 算术运算、移位运算、逻辑运算 学习目标: 列出在数据上进行的三类运算 在位模式上进行一元和二元逻辑运算 区分逻辑移位运算和算术移位运算 在位模式上进行逻辑移位运算 在以二进制补码形式存储的整数上进行算术移位运算 在以二进制补码形式存储的整数上进行加法和减法运算 在以符号加绝对值形式存储的整数上进行加法和减法运算 在以浮点格式存储的实数上进行加法和减法运算 理解逻辑和算术运算的一些应用,如置位、复位和指定位的反转等,4.1 逻辑运算,逻辑运算:是指那些应用于模式中的一个二进制位,或在两个模式中相应的两个 二进制位的相同基本运算。 可以在位层次上和模式层次上定义逻
2、辑运算。 模式层次上的逻辑运算是具有相同类型的位层次上的n个逻辑运算,这里的n就是 模式中的位的数目。,位层次上的逻辑运算,二进制位的位层次上的运算: 非(NOT) 与(AND) 或(OR) 异或(XOR),Unary and binary operations,Logical operations,Truth tables,NOT operator,Example 7,Use the NOT operator on the bit pattern 10011000,Solution,Target 1 0 0 1 1 0 0 0 NOT -Result 0 1 1 0 0 1 1 1,AND
3、operator,Example 8,Use the AND operator on bit patterns 10011000 and 00101010.,Solution,Target 1 0 0 1 1 0 0 0 AND 0 0 1 0 1 0 1 0 -Result 0 0 0 0 1 0 0 0,Inherent rule of the AND operator,OR operator,Example 9,Use the OR operator on bit patterns 10011001 and 00101110,Solution,Target 1 0 0 1 1 0 0 1
4、 OR 0 0 1 0 1 1 1 0 -Result 1 0 1 1 1 1 1 1,Inherent rule of the OR operator,XOR operator,Example 10,Use the XOR operator on bit patterns 10011001 and 00101110.,Solution,Target 1 0 0 1 1 0 0 1 XOR 0 0 1 0 1 1 1 0 -Result 1 0 1 1 0 1 1 1,Inherent rule of the XOR operator,Mask(掩码),与运算的一个应用就是把一个位模式的指定位
5、复位(置0)。 这种情况下的第二个输入称为掩码 掩码中的0位对第一个输入中相应的位进行复位 掩码中的1位使得第一个输入中相应的位保持不变,Mask(掩码),Example of unsetting specific bits,Example 11,Use a mask to unset (clear) the 5 leftmost bits of a pattern. Test the mask with the pattern 10100110.,Solution,The mask is 00000111. Target 1 0 1 0 0 1 1 0 ANDMask 0 0 0 0 0 1
6、 1 1 -Result 0 0 0 0 0 1 1 0,Example 12,Imagine a power plant that pumps water to a city using eight pumps. The state of the pumps (on or off) can be represented by an 8-bit pattern. For example, the pattern 11000111 shows that pumps 1 to 3 (from the right), 7 and 8 are on while pumps 4, 5, and 6 ar
7、e off. Now assume pump 7 shuts down. How can a mask show this situation?,Solution on the next slide.,Use the mask 10111111 to AND with the target pattern. The only 0 bit (bit 7) in the mask turns off the seventh bit in the target. Target 1 1 0 0 0 1 1 1 ANDMask 1 0 1 1 1 1 1 1 -Result 1 0 0 0 0 1 1
8、1,Solution,Example of setting specific bits,Example 13,Use a mask to set the 5 leftmost bits of a pattern. Test the mask with the pattern 10100110.,Solution,The mask is 11111000. Target 1 0 1 0 0 1 1 0 ORMask 1 1 1 1 1 0 0 0 -Result 1 1 1 1 1 1 1 0,Example 14,Using the power plant example, how can y
9、ou use a mask to to show that pump 6 is now turned on?,Solution,Use the mask 00100000. Target 1 0 0 0 0 1 1 1 ORMask 0 0 1 0 0 0 0 0 -Result 1 0 1 0 0 1 1 1,Figure 4-16,Example of flipping specific bits,Example 15,Use a mask to flip the 5 leftmost bits of a pattern. Test the mask with the pattern 10
10、100110.,Solution,Target 1 0 1 0 0 1 1 0 XOR Mask 1 1 1 1 1 0 0 0 -Result 0 1 0 1 1 1 1 0,4.2 移位运算,移位运算移动模式中的位,改变位的位置 可以向左或向右移动 移位运算分类: 逻辑移位运算和算术移位运算,4.2.1 逻辑移位运算,逻辑移位运算应用于不带符号位的数的模式。 原因是这些移位运算可能会改变数的符号,此符号是由模式中最左位定义的。 分类: 逻辑移位、循环移位,1. 逻辑移位,例题 对位模式10011000使用逻辑左移运算 解 解如下所示,最左位被丢弃,0作为最右位被插入 1 0 0 1 1 0
11、 0 0 原始的 0 0 1 1 0 0 0 0 移位后,1. 循环移位,例题 对位模式10011000使用逻辑左移运算 解 解如下所示,最左位被回环,成为最右位 1 0 0 1 1 0 0 0 原始的 0 0 1 1 0 0 0 1 移位后,4.2.2 算术移位运算,算术移位运算假定位模式是以二进制补码格式表示的带符号位的整数 算术右移被用来对整数除以2 算术左移被用来对整数乘以2 算术右移保留符号位,但同时也把它复制,放入相邻的右边的位中,因此,符号位被保存 算术左移丢弃符号位,接受它的右边的位作为符号位。若新的符号位与原先的相同,那么 运算成功,否则发生上溢或下溢,结果是非法的,例题 对
12、位模式10011000使用算术右移,模式是二进制补码格式的整数 解 解如下所示,最左位被保留,被复制到相邻的右边的位中 1 0 0 1 1 0 0 0 原始的 1 1 0 0 1 1 0 0 移位后 原始数是-103,新的数是-52,它是-103被除以2并取整的结果,例题 对位模式11011001使用算术左移,模式是二进制补码格式的整数 解 解如下所示,最左位被丢弃,0作为最右位被插入 1 1 0 1 1 0 0 1 原始的 1 0 1 1 0 0 1 0 移位后 原始数是-39,新的数是-78,原始数被乘以2.因为没有下溢的发生,所以运算合法。,例题 对位模式01111111使用算术左移,模
13、式是二进制补码格式的整数 解 解如下所示,最左位被丢弃,0作为最右位被插入 0 1 1 1 1 1 1 1 原始的 1 1 1 1 1 1 1 0 移位后 原始数是127,新的数是-2,因为上溢发生,所以结果非法,例题 逻辑运算和逻辑移位运算提供了操纵位模式的工具。假设有一个模式在判断过程中需要知道使用此模式的第三位(从右起),需要知道这特殊的位是0或1. 下面显示如何找到这位的 h g f e d c b a 原始的 0 h g f e d c b 一次右移 0 0 h g f e d c 二次右移 AND 0 0 0 0 0 0 0 1 掩码 0 0 0 0 0 0 0 c 结果,4.3
14、算术运算,算术运算包括加、减、乘、除等 适用于整数和浮点数,4.3.1 整数的算术运算,1. 二进制补码整数的加减法,整数通常是以二进制补码形式存储的。 二进制补码表示法的一个优点是加法和减法之间没有区别,Rule of Adding Integers in Twos Complement Add 2 bits and propagate the carry to the next column. If there is a final carry after the leftmost column addition, discard it.,Note:,Example 1,Add two n
15、umbers in twos complement representation: (+17) + (+22) (+39),Solution,Carry 1 0 0 0 1 0 0 0 1 +0 0 0 1 0 1 1 0 -Result0 0 1 0 0 1 1 1 39,Example 2,Add two numbers in twos complement representation: (+24) + (-17) (+7),Solution,Carry 1 1 1 1 1 0 0 0 1 1 0 0 0 +1 1 1 0 1 1 1 1 -Result0 0 0 0 0 1 1 1 +
16、7,Example 3,Add two numbers in twos complement representation: (-35) + (+20) (-15),Solution,Carry 1 1 1 1 1 0 1 1 1 0 1 +0 0 0 1 0 1 0 0 -Result1 1 1 1 0 0 0 1 -15,Example 4,Add two numbers in twos complement representation: (+127) + (+3) (+130),Solution,Carry 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 + 0 0 0 0
17、 0 0 1 1 -Result 1 0 0 0 0 0 1 0 -126 (Error) An overflow has occurred.,Range of numbers in twos complementrepresentation - (2N-1) - 0 - +(2N-1 1),Note:,Figure 4-2,Twos complement numbers visualization,When you do arithmetic operations onnumbers in a computer, remember thateach number and the result
18、 should bein the range defined by the bit allocation.,Note:,Example 5,Subtract 62 from 101 in twos complement: (+101) - (+62) (+101) + (-62),Solution,Carry 1 1 0 1 1 0 0 1 0 1 +1 1 0 0 0 0 1 0 -Result0 0 1 0 0 1 1 1 39The leftmost carry is discarded.,2. 符号加绝对值整数的加减法,用符号加绝对值表示的整数的加法和减法看起来非常复杂 有4种不同的符
19、号组合 需要考虑8种不同的情况 流程图参考课本第59页 流程图解释: 1)检查运算:如果运算是减法,那么改变第二个整数(B)的符号,这就意味着只需要考虑两符号整数的加法; 2)对两符号应用XOR运算,如果结果(存储在临时单元S中)是0,则意味着符号是相同的(或者两符号都是正的,或者两符号都是负的); 3)如果符号是相同的,R=(AM+BM),则需要相加绝对值,结果的符号是相同的符号,所以得到: RM=(AM)+(BM)和RS=AS 这里下标M意味着绝对值,下标S意味着符号,需要注意上溢。两个绝对值相加时,可能会发生上溢,它必须被报告,处理过程终止。 4)如果符号不同,R=(AM-BM),则需要
20、从A中减去B,然后对符号进行判断,不是一位接一位地相减,而是取第二个绝对值的二进制补码,相加它们。结果的符号是较大绝对值整数的符号。 A。可以证明,如果AMBM,那就有上溢,结果是一个正数。因此,如果有上溢,则舍弃上溢,使结果的符号取A的符号; B。可以证明,如果AMBM,那就没有上溢,结果是一个负数。因此,如果没有上溢,则取结果的二进制补,使结果的符号取B的符号;,例 以符号加绝对值格式存储两整数A和B,显示B是如何被加到A上的。 A=(0 0010001)2 B=(0 0010110)2 解 运算是相加,B的符号没有改变 S=AS XOR BS =0, RM=AM+BM 和RS=AS 没有
21、上溢 没有上溢 1 进位 AS 0 0 0 1 0 0 0 1 AM BS 0 + 0 0 1 0 1 1 0 BM RS 0 0 1 0 0 1 1 1 RM,例 以符号加绝对值格式存储两整数A和B,显示B是如何被加到A上的。 A=(0 0010001)2 B=(1 0010110)2 解 运算是相加,B的符号没有改变 S=AS XOR BS =1, RM=AM+(M+1) 没有上溢 取RM的二进制补码, R的符号是B的符号 没有上溢 进位 AS 0 0 0 1 0 0 0 1 AM BS 1 + 1 1 0 1 0 1 0 (M+1) 1 1 1 1 1 0 1 1 RM RS 1 0 0
22、 0 0 1 0 1 RM=(M+1),例 以符号加绝对值格式存储两整数A和B,显示B是如何被加到A上的。 A=(1 1010001)2 B=(1 0010110)2 解 运算是相减,SB=B,S=AS XOR BS =1, RM=AM+(M+1) 没有上溢 RM的值就是最终的值, R的符号是A的符号 有上溢 1 进位 AS 1 1 0 1 0 0 0 1 AM BS 1 + 1 1 0 1 0 1 0 (M+1) RS 1 0 1 1 1 0 1 1 RM,4.3.2 实数的算术运算,像加、减、乘、除这样的算术运算都能应用于浮点数格式存储的实数上。 两实数的乘法涉及两个用符号加绝对值表示的整
23、数的乘法 两实数的除法涉及两个用符号加绝对值表示的整数的除法,实数的加减法,以浮点数格式存储的实数的加法和减法被简化为小数点对齐后以符号加绝对值格式(符号和尾数的组合)存储的两整数的加法和减法 课本第61页显示了处理过程的简化版本 简化的过程如下: 1)如果两数(A或B)中任一个为0,那么令结果为0,过程终止; 2)如果运算是减法,那么改变第二个数(B)的符号来模拟加法; 3)通过在尾数中包含隐含的1和增加指数,将两个数去规范化; 4)然后统一指数,这意味着增加较小的指数,移位相应的尾数,直到两个数具有相同的指数; 5)把每个数的符号和尾数的组合看成一个符号加绝对值格式的整数; 6)再次去规范
24、化。,例 显示计算机是如何计算结果的: (+5.75)+(+161.875)=(+167.625) 解: S E M A 0 10000001 01110000000000000000000 B 0 10000110 01000011110000000000000 去规范化 S E 去规范化的M A 0 10000010 101110000000000000000000 B 0 10000111 101000011110000000000000 对齐尾数 S E 去规范化的M A 0 10000111 000001011100000000000000 B 0 10000111 101000011110000000000000 进行符号加绝对值加法 S E 去规范化的M R 0 10000111 10100111101000000000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 氢能制备新方法-洞察及研究
- 多模态情感识别技术:表情、语音与语言的综合应用综述
- 基于双层路径规划的智能导盲系统设计与实现
- 检查督导整改管理办法
- 艺术生产理论在当代文艺创作中的实践启示研究
- 出具收入证明管理办法
- 办公楼保洁技术方案的研究与实践
- 美学自学考试笔记重点解读
- 游览车运营调度方案设计
- 导电材料对厌氧消化性能的影响及其机制研究进展
- 新华书店读者问卷调查表
- GB/T 20946-2007起重用短环链验收总则
- GB/T 18391.3-2009信息技术元数据注册系统(MDR)第3部分:注册系统元模型与基本属性
- GB/T 10610-2009产品几何技术规范(GPS)表面结构轮廓法评定表面结构的规则和方法
- 熠搜家庭户用光伏电站推介
- 济源幼儿园等级及管理办法
- 房地产开发全流程培训讲义课件
- DB44-T 2163-2019山地自行车赛场服务 基本要求-(高清现行)
- 云南省特种设备检验检测收费标准
- DB15T 933-2015 内蒙古地区极端高温、低温和降雨标准
- 工伤责任保险单
评论
0/150
提交评论