计算机基础课件第四章数据的运算_第1页
计算机基础课件第四章数据的运算_第2页
计算机基础课件第四章数据的运算_第3页
计算机基础课件第四章数据的运算_第4页
计算机基础课件第四章数据的运算_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章第四章 数据运算数据运算数据运算分类数据运算分类:算术运算、移位运算、逻辑运算算术运算、移位运算、逻辑运算学习目标学习目标: 列出在数据上进行的三类运算列出在数据上进行的三类运算 在位模式上进行一元和二元逻辑运算在位模式上进行一元和二元逻辑运算 区分逻辑移位运算和算术移位运算区分逻辑移位运算和算术移位运算 在位模式上进行逻辑移位运算在位模式上进行逻辑移位运算 在以二进制补码形式存储的整数上进行算术移位运算在以二进制补码形式存储的整数上进行算术移位运算 在以二进制补码形式存储的整数上进行加法和减法运算在以二进制补码形式存储的整数上进行加法和减法运算 在以符号加绝对值形式存储的整数上进行加法

2、和减法运算在以符号加绝对值形式存储的整数上进行加法和减法运算 在以浮点格式存储的实数上进行加法和减法运算在以浮点格式存储的实数上进行加法和减法运算1. 理解逻辑和算术运算的一些应用,如置位、复位和指定位理解逻辑和算术运算的一些应用,如置位、复位和指定位的反转等的反转等4.1 4.1 逻辑运算逻辑运算逻辑运算:是指那些应用于模式中的一个二进制位,或在两个模式中相应的两个二进制位的相同基本运算。可以在位层次上和模式层次上定义逻辑运算。模式层次上的逻辑运算是具有相同类型的位层次上的n个逻辑运算,这里的n就是模式中的位的数目。位层次上的逻辑运算位层次上的逻辑运算二进制位的位层次上的运算:非(NOT)与

3、(AND)或(OR)异或(XOR)Unary and binary operationsLogical operationsTruth tablesNOT operatorUse the NOT operator on the bit pattern 10011000AND operatorUse the AND operator on bit patterns 10011000 and 00101010.Inherent rule of the AND operatorOR operatorUse the OR operator on bit patterns 10011001 and 00

4、101110Inherent rule of the OR operatorXOR operatorUse the XOR operator on bit patterns 10011001 and 00101110.Inherent rule of the XOR operatorMask(掩码掩码)与运算的一个应用就是把一个位模式的指定位复位(置0)。这种情况下的第二个输入称为掩码掩码中的0位对第一个输入中相应的位进行复位掩码中的1位使得第一个输入中相应的位保持不变Mask(掩码掩码)Example of unsetting specific bitsUse a mask to unset

5、 (clear) the 5 leftmost bits of a pattern. Test the mask with the pattern 10100110.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)

6、, 7 and 8 are on while pumps 4, 5, and 6 are off. Now assume pump 7 shuts down. How can a mask show this situation?Example of setting specific bitsUse a mask to set the 5 leftmost bits of a pattern. Test the mask with the pattern 10100110.Using the power plant example, how can you use a mask to to s

7、how that pump 6 is now turned on? Figure 4-16Example of flipping specific bitsUse a mask to flip the 5 leftmost bits of a pattern. Test the mask with the pattern 10100110.4.2 4.2 移位运算移位运算移位运算移动模式中的位,改变位的位置可以向左或向右移动移位运算分类:逻辑移位运算和算术移位运算4.2.1 4.2.1 逻辑移位运算逻辑移位运算逻辑移位运算应用于不带符号位的数的模式。原因是这些移位运算可能会改变数的符号,此符号

8、是由模式中最左位定义的。分类:逻辑移位、循环移位1. 逻辑移位逻辑移位例题 对位模式10011000使用逻辑左移运算解 解如下所示,最左位被丢弃,0作为最右位被插入 1 0 0 1 1 0 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 4.2.2 算术移位运算算术移位运算算术移位运算假定位模式是以二进制补码格式表示的带符号位的整数算术右移被用来对整数除以2算术左移被用来对整数乘以2算术右移

9、保留符号位,但同时也把它复制,放入相邻的右边的位中,因此,符号位被保存算术左移丢弃符号位,接受它的右边的位作为符号位。若新的符号位与原先的相同,那么运算成功,否则发生上溢或下溢,结果是非法的例题 对位模式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

10、0 0 1 原始的 1 0 1 1 0 0 1 0 移位后原始数是-39,新的数是-78,原始数被乘以2.因为没有下溢的发生,所以运算合法。例题 对位模式01111111使用算术左移,模式是二进制补码格式的整数解 解如下所示,最左位被丢弃,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 原始的

11、 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 4.3 算术运算算术运算算术运算包括加、减、乘、除等适用于整数和浮点数4.3.1 4.3.1 整数的算术运算整数的算术运算1. 二进制补码整数的加减法整数通常是以二进制补码形式存储的。二进制补码表示法的一个优点是加法和减法之间没有区别Add two numbers in twos complement representation: (+17) + (+22) (+39)Carry 10 0 0 1 0 0 0 1 0 0

12、 0 1 0 1 1 0-Result0 0 1 0 0 1 1 1 39Add two numbers in twos complement representation: (+24) + (-17) (+7)Carry 1 1 1 1 10 0 0 1 1 0 0 0 1 1 1 0 1 1 1 1-Result0 0 0 0 0 1 1 1 +7Add two numbers in twos complement representation: (-35) + (+20) (-15)Carry 1 1 11 1 0 1 1 1 0 1 0 0 0 1 0 1 0 0-Result1 1

13、1 1 0 0 0 1 -15Add two numbers in twos complement representation: (+127) + (+3) (+130)Carry 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 -Result 1 0 0 0 0 0 1 0 Figure 4-2Twos complement numbers visualizationSubtract 62 from 101 in twos complement: (+101) - (+62) (+101) + (-62)Carry 1 10 1 1 0 0 1

14、0 1 1 1 0 0 0 0 1 0-Result0 0 1 0 0 1 1 1 39The leftmost carry is discarded.2. 2. 符号加绝对值整数的加减法符号加绝对值整数的加减法用符号加绝对值表示的整数的加法和减法看起来非常复杂有4种不同的符号组合 需要考虑8种不同的情况 流程图参考课本第59页流程图解释:1)检查运算:如果运算是减法,那么改变第二个整数(B)的符号,这就意味着只需要考虑两符号整数的加法;2)对两符号应用XOR运算,如果结果(存储在临时单元S中)是0,则意味着符号是相同的(或者两符号都是正的,或者两符号都是负的);3)如果符号是相同的,R=(A

15、M+BM),则需要相加绝对值,结果的符号是相同的符号,所以得到:RM=(AM)+(BM)和RS=AS这里下标M意味着绝对值,下标S意味着符号,需要注意上溢。两个绝对值相加时,可能会发生上溢,它必须被报告,处理过程终止。4)如果符号不同,R=(AM-BM),则需要从A中减去B,然后对符号进行判断,不是一位接一位地相减,而是取第二个绝对值的二进制补码,相加它们。结果的符号是较大绝对值整数的符号。A。可以证明,如果AMBM,那就有上溢,结果是一个正数。因此,如果有上溢,则舍弃上溢,使结果的符号取A的符号;B。可以证明,如果AMBM,那就没有上溢,结果是一个负数。因此,如果没有上溢,则取结果的二进制补

16、,使结果的符号取B的符号;例 以符号加绝对值格式存储两整数A和B,显示B是如何被加到A上的。 A=(0 0010001)2 B=(0 0010110)2解 运算是相加,B的符号没有改变 S=AS XOR BS =0, RM=AM+BM 和RS=AS 没有上溢 没有上溢 1 进位AS 0 0 0 1 0 0 0 1 AMBS 0 + 0 0 1 0 1 1 0 BMRS 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,

17、 RM=AM+(M+1) 没有上溢 取RM的二进制补码, R的符号是B的符号 没有上溢 进位AS 0 0 0 1 0 0 0 1 AMBS 1 + 1 1 0 1 0 1 0 (M+1) 1 1 1 1 1 0 1 1 RM RS 1 0 0 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

18、BS 1 + 1 1 0 1 0 1 0 (M+1) RS 1 0 1 1 1 0 1 1 RM 4.3.2 4.3.2 实数的算术运算实数的算术运算像加、减、乘、除这样的算术运算都能应用于浮点数格式存储的实数上。两实数的乘法涉及两个用符号加绝对值表示的整数的乘法两实数的除法涉及两个用符号加绝对值表示的整数的除法实数的加减法实数的加减法以浮点数格式存储的实数的加法和减法被简化为小数点对齐后以符号加绝对值格式(符号和尾数的组合)存储的两整数的加法和减法课本第61页显示了处理过程的简化版本简化的过程如下:1)如果两数(A或B)中任一个为0,那么令结果为0,过程终止;2)如果运算是减法,那么改变第二

19、个数(B)的符号来模拟加法;3)通过在尾数中包含隐含的1和增加指数,将两个数去规范化;4)然后统一指数,这意味着增加较小的指数,移位相应的尾数,直到两个数具有相同的指数;5)把每个数的符号和尾数的组合看成一个符号加绝对值格式的整数;6)再次去规范化。例 显示计算机是如何计算结果的: (+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 000001011100000000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论