资源描述
单击此处编辑母版标题样式,*,第四章 数据运算,4.1,逻辑运算,4.2,移位运算,4.3,算术运算,本章要求,掌握数据的三类运算;,理解逻辑和算术运算的一些应用。,4.1,逻辑运算,几个基本概念:,1.,逻辑:,2.,逻辑状态,:,3.,逻辑变量:,4.,逻辑函数:,指事物的规律性和因果关系。,完全对立、截然相反的二种状态,如:好坏、美丑、真假、有无、高低、开关等。,代表逻辑状态的符号,取值,0,和,1,。,输出是输入条件的函数,有一定的因果关系。,逻辑运算:,是指对因果关系进行分析的一种运算。,逻辑运算的结果并不表示数值的大小,而是表示的一种逻辑概念。若成立用真或,1,表示,若不成立用假或,0,表示。,自然界中能表示两种不同状态的方法有很多种,:,如果定义了一个位作为逻辑值,就可以对它进行逻辑运算了,逻辑运算可以接收,1,到,2,个位来生成,1,个位。如果逻辑运算作用在,1,个输入位上,就叫做,一元运算,,如果作用在,2,个位上,就叫做,二元运算,。,二进制数的逻辑运算有“与”、“或”、“非”、“异或”,4,种,。,一、位层次上的逻辑运算,1,、非(,NOT,),非运算实现逻辑否定,即进行求反运算,用符号,NOT,表示。其实质意义就是取反。,一元运算符,2,、与(,AND,),与运算又称逻辑乘,有符号“,”,,或“”来表示,运算规则如下,:,二元运算符,0,0=0,0,1=0,1,0=0,1,1=1,0,A=0,1,A=A,3,、或(,OR,),或运算又称逻辑加,有符号“,+”,,或“,”来表示,运算规则如下,:,二元运算符,0,+,0=0,0,+,1=1,1,+,0=1,1,+,1=1,0,+,A=A,1,+,A=1,4,、异或(,XOR,),异或运算又称逻辑加,有符号“,”,,运算规则如下,:,二元运算符,0,0=0,0,1=1,1,0=1,1,1=0,异或定义,:,A B,A,B,A B,0,A,=,A,1,A,=,A,二、模式层次上的逻辑运算,相同的四种逻辑运算(非、与、或、异或)可以被应用到,n,位模式。,非运算:例,4.3,与运算:例,4.4,或运算:例,4.5,异或运算:例,4.6,三、,4,种逻辑运算的应用,逻辑运算可以用于,修改位模式,。即可以将指定的位,复位,、,置位,或,反转,。,1,、求反,非运算符的唯一的作用就是对整个位模式求反。,2,、使指定的位复位,与运算符的一个作用就是把位模式的指定位,复位,(,置,0,)。为此,需要一个同样长度的,掩码,。,创建复位掩码的规则总结如下:,对于目标位模式中需要置,0,的位,掩码的相应位设为,0,;,对于目标位模式中需要保持不变的位,掩码的相应位设为,1,。,例:设想一个水厂使用,8,台水泵给一城市供水。水泵的状态(开或关)就可以用,8,位(二进制)模式来描述。现在假设将,7,号泵关闭,怎样的掩码能描述这种情况。,解:设,8,台水泵的状态(开或关)用,8,个逻辑变量表示为,A,8,A,7,A,6,A,5,A,4,A,3,A,2,A,1,。则对应的复位掩码应该是,8,位模式,由掩码构成规则可得:,1 0 1 1 1 1 1 1,A,8,A,7,A,6,A,5,A,4,A,3,A,2,A,1,掩码,A,8,0A,6,A,5,A,4,A,3,A,2,A,1,AND,3,、使指定的位置位,或运算符的一个的作用就是把位模式的指定位,置位,(,置,1,)。为此,需要一个同样长度的,掩码,。,例,4.8,创建置位掩码的规则总结如下:,对于目标位模式中需要置,1,的位,掩码的相应位设为,1,;,对于目标位模式中需要保持不变的位,掩码的相应位设为,0,。,例:设想一个水厂使用,8,台水泵给一城市供水。水泵的状态(开或关)就可以用,8,位(二进制)模式来描述。现在假设将,6,号泵打开,怎样的掩码能描述这种情况。,解:设,8,台水泵的状态(开或关)用,8,个逻辑变量表示为,A,8,A,7,A,6,A,5,A,4,A,3,A,2,A,1,。则对应的置位掩码应该是,8,位模式,由掩码构成规则可得:,0 0 1 0 0 0 0 0,A,8,A,7,A,6,A,5,A,4,A,3,A,2,A,1,掩码,A,8,A,7,1A,5,A,4,A,3,A,2,A,1,OR,4,、使指定的位反转,异或运算符的一个的作用就是把位模式指定,反转,。为此,需要一个同样长度的,掩码,。,例,4.9,创建反转掩码的规则总结如下:,对于目标位模式中需要反转的位,掩码的相应位设为,1,;,对于目标位模式中需要保持不变的位,掩码的相应位设为,0,。,4.2,移位运算,可以分为两大类:逻辑移位和算术移位。,一、逻辑移位运算,逻辑移位运算应用于不带符号位的数的模式。,1,、逻辑移位,逻辑右移,逻辑左移,例,4.10,2,、循环移位,循环右移,循环左移,例,4.11,二、算术移位运算,算术移位运算应用于带符号位的数的模式,(,补码形式,),。,1,、算术右移(对整数除以),算术右移保留符号位,同时把它复制,放入相邻的右边的位中,因此符号被保存。,2,、算术左移(对整数乘以),例,4.12 4.13 4.14 4.15,算术左移丢弃符号位,接受它的右边的位作为符号位。如果新的符号位与原先的相同,那么运算成功,否则发生上溢或下溢,结果非法,。,4.3,算术运算,一、,二进制数的算术运算,加法运算规则,:0,+,0=0,0,+,1=1,1,+,0=1,1,+,1=0,减法运算规则,:0,-,0=0,0,-,1=1,1,-,0=1,1,-,1=0,乘法运算规则,:0,0=0,0,1=0,1,0=0,1,1=1,除法运算规则,:0,1=0,1,1=1,运算规则,例,:,10111,10011=101010,例,:,10111,10011=100,10111,+)10011,101010,10111,-)10011,100,例,:,10111,10011=110110101,10111,)10011,10111,10111,00000,00000,10111,110110101,例,:,10101,11=111,111,11 10101,11,100,11,11,11,0,二、,二进制补码的加减运算,1,、,二进制补码的加法运算规则,(,X+Y,),补,=,(,X,),补,+,(,Y,),补,该式表明,当有符号的两个数,采用补码形式表示时,进行加法运算可以把符号位和数值位一起进行运算(若符号位有进位,则丢掉)结果为两数之和的补码形式。,例,4.16 4.17,例,4.20,(,+127,),+,(,+3,),=,?(,8,位补码表示),我们知道结果为,+130,,溢出。,2,、,二进制补码的减法运算规则,(,X,Y,),补,=,(,X,),补,+,(,Y,),补,该式表明:求(,X-Y,),补,可以用(,X,),补,与(,-Y,),补,相加来实现(,-Y,),补,是对减数进行求负操作,一般称已知(,Y,),补,求得(,-Y,),补,的过程叫变补或求负,已知(,Y,),补,求(,-Y,),补,的规则是全部位(含符号位)按位取反再加,1,。,例,4.18 4.19,三、实数的加减法运算(浮点数的加减运算),以浮点数个数格式存储的实数的加法和减法被简化为,小数点对齐后,以符号加绝对值格式(符号和尾数的组合)存储的两整数的加法和减法。,加法步骤:,1,)检验符号,a.,如果符号相同,相加其值,结果符号与原符号相同;,b.,如果符号不同,比较绝对值,绝对值大的减去小的,结果符号取绝对值大的一方。,2),移动小数点,使两者指数相同。,3),将尾数进行加法运算。,4),将规范化结果在存入内存中。,5),检查是否存在溢出。,
展开阅读全文