免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1449 | 回复: 0
打印 上一主题 下一主题

二进制算术运算和逻辑运算 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-03-26 02:15 |只看该作者 |倒序浏览

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=0 0÷1=0 1÷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、逻辑加法(“或”运算)
     逻辑加法通常用符号“+”或“∨”来表示。逻辑加法运算规则如下:
     0+0=0, 0∨0=0
     0+1=1, 0∨1=1
     1+0=1, 1∨0=1
     1+1=1, 1∨1=1
     从上式可见,逻辑加法有“或”的意义。也就是说,在给定的逻辑变量中,A或B只要有一个为1,其逻辑加的结果为1;两者都为1则逻辑加为1。
     2、逻辑乘法(“与”运算)
     逻辑乘法通常用符号“×”或“∧”或“·”来表示。逻辑乘法运算规则如下:
     0×0=0, 0∧0=0, 0·0=0
     0×1=0, 0∧1=0, 0·1=0
     1×0=0, 1∧0=0, 1·0=0
     1×1=1, 1∧1=1, 1·1=1
     不难看出,逻辑乘法有“与”的意义。它表示只当参与运算的逻辑变量都同时取值为1时,其逻辑乘积才等于1。
     3、逻辑否定(非运算)
     逻辑非运算又称逻辑否运算。其运算规则为:
     0=1 非0等于1
     1=0 非1等于0
     4、异或逻辑运算(半加运算)
     异或运算通常用符号"⊕"表示,其运算规则为:
     0⊕0=0 0同0异或,结果为0
     0⊕1=1 0同1异或,结果为1
     1⊕0=1 1同0异或,结果为1
     1⊕1=0 1同1异或,结果为0
     即两个逻辑变量相异,输出才为1


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/59646/showart_508339.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP