二进制算术运算和逻辑运算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、二进制的算术运算

二进制数的算术运算非常简单,它的基本运算是加法。在计算机中,引入补码表示后,加上一些控制逻辑,利用加法就可以实现二进制的减法、乘法和除法运算。

(1)二进制的加法运算

二进制数的加法运算法则只有四条:0+0=0 0+1=1 1+0=1 1+1=10(向高位进位)

例:计算1101+1011的和

由算式可知,两个二进制数相加时,每一位最多有三个数:本位被加数、加数和来自低位的进位数。按照加法运算法则可得到本位加法的和及向高位的进位。

(2)二进制数的减法运算

二进制数的减法运算法则也只有四条: 0-0=0 0-1=1(向高位借位) 1-0=1 1-1=0

例:计算11000011 00101101的差

由算式知,两个二进制数相减时,每一位最多有三个数:本位被减数、减数和向高位的借位数。按照减法运算法则可得到本位相减的差数和向高位的借位。

(3)二进制数的乘法运算

二进制数的乘法运算法则也只有四条: 0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1

例:计算1110×1101的积

由算式可知,两个二进制数相乘,若相应位乘数为1,则部份积就是被乘数;若相应位乘数为0,则部份积就是全0。部份积的个数等于乘数的位数。以上这种用位移累加的方法计算两个二进制数的乘积,看起来比传统乘法繁琐,但它却为计算机所接受。累加器的功能是执行加法运算并保存其结果,它是运算器的重要组成部分。

(4)二进制数的除法运算

二进制数的除法运算法则也只有四条:0÷0 = 00÷1 = 01÷0 = 0 (无意义) 1÷1 = 1

例:计算100110÷110的商和余数。

由算式可知,(100110)2÷(110)2得商(110)2,余数(10)2。但在计算机中实现上述除法过程,无法依靠观察判断每一步是否“够减”,需进行修改,通常采用的有“恢复余数法”和“不恢复余数法”,这里就不作介绍了。

2、二进制数的逻辑运算

计算机所以具有很强的数据处理能力,是由于在计算机里装满了处理数据所用的电路。这些电路都是以各种各样的逻辑为基础而构成的简单电路经过巧妙组合而成的。

逻辑变量之间的运算称为逻辑运算,它是逻辑代数的研究内容。在逻辑代数里,表示"真"与"假"、"是"与"否"、"有"与"无"这种具有逻辑属性的变量称为逻辑变量,像普通代数一样,逻辑变量可以用A,B,C,……或X,Y,Z……来表示。对二进制数的1和0赋以逻辑含义,例如用1表示真,用0表示假,这样将二进制数与逻辑取值对应起来。由此可见,逻辑运算是以二进制数为基础的。值得指出的是,普通代数的变量可以有各种各样的取值,而逻辑变量的

取值只有两种:真和假,也就是1和0。

逻辑运算包括三种基本运算:逻辑加法(又称"或"运算)、逻辑乘法(又称"与"运算)和逻辑否定(又称"非"运算)。此外,还有异或运算和符合运算,等等。计算机的逻辑运算是按位进行的,不像算术运算那样有进位或借位的联系。

(1)逻辑加法(或运算)

逻辑加法通常用符号"+"或"∨"来表示。对于逻辑变量A,B和C,它们的逻辑加运算关系为: A+B=C A∨B=C以上两式等价,都读作A或B等于C。若逻辑变量取不同的值,则逻辑加运算规则如下:

0+0=0 0+1=1 1+0=1 1+1=1 或0∨0=0 0∨1=1 1∨0=1 1∨1=1

由上面式子可见,只要逻辑变量A或B中有一个为1,或两个都为1,则逻辑加的结果就为1;只有A和B同时为0时,C才等于0。

(2)逻辑乘法(与运算)

逻辑乘法通常用符号"*"或"∧"或"·"来表示。对于逻辑变量A,B和C,它们的逻辑乘法运算关系为:A*B=C A∧B=C或A·B=C以上各式等价,都读作A与B等于C。若逻辑变量取不同的值,则逻辑乘法运算规则如下:0*0=0 0∧0=00·0=0

0*1=0 0∧1=00·1=0

1*0=0 1∧0=01·0=0

1*1=1 1∧1=11·1=1

不难看出,逻辑乘法有"与"的意义,它表示仅当A和B同时为1时,其逻辑乘积C才等于1,其它情况C都等于0。

(3)逻辑否定(非运算)

逻辑非通常用在逻辑变量上方加一横线来表示,对于逻辑变量A和C,其逻辑否定运算规则为:A=C

由上式看出,逻辑变量A取值0时,其否定C等于1;反之,A取值1时,其否定C等于0。

非逻辑的运算规则为:0=1,读作非0等于1;1=0,读作非1等于0

相关文档
最新文档