逻辑运算查看源代码讨论查看历史
逻辑运算 | |
---|---|
逻辑运算,又称布尔运算 布尔用数学方法研究逻辑问题,成功地建立了逻辑演算。他用等式表示判断,把推理看作等式的变换。这种变换的有效性不依赖人们对符号的解释,只依赖于符号的组合规律 。[1]
这一逻辑理论人们常称它为布尔代数。20世纪30年代,逻辑代数在电路系统上获得应用,随后,由于电子技术与计算机的发展,出现各种复杂的大系统,它们的变换规律也遵守布尔所揭示的规律。逻辑运算 (logical operators) 通常用来测试真假值。最常见到的逻辑运算就是循环的处理,用来判断是否该离开循环或继续执行循环内的指令。
基本概念
1.逻辑常量与变量:逻辑常量只有两个,即0和1,用来表示两个对立的逻辑状态。逻辑变量与普通代数一样,也可以用字母、符号、数字及其组合来表示,但它们之间有着本质区别,因为逻辑常量的取值只有两个,即0和1,而没有中间值。[2]
2.逻辑运算:在逻辑代数中,有与、或、非三种基本逻辑运算。表示逻辑运算的方法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。
3.逻辑函数:逻辑函数是由逻辑变量、常量通过运算符连接起来的代数式。同样,逻辑函数也可以用表格和图形的形式表示。
4.逻辑代数:逻辑代数是研究逻辑函数运算和化简的一种数学系统。逻辑函数的运算和化简是数字电路课程的基础,也是数字电路分析和设计的关键。
5.运用在NOIP2015没有出现逻辑运算
表示方法
"∨" 表示"或" (逻辑加法)
"∧" 表示"与". (逻辑乘法)
"┐"表示"非". (逻辑否定)
"=" 表示"等价".
1和0表示"真"和"假"
(还有一种表示,"+"表示"或", "·"表示"与")
运算符号
各种编程语言中的逻辑运算符 语言
C
Pascal
Java
VB C++ 与
&
and
&
and and 或 && 或
|
or
|
or or 或 || 非
!
not
!
not not 或 !
运算规则
A......B..................A And B....A Or B........A Xor B
0......0.......................0..............0................0
1......0.......................0..............1................1
0......1.......................0..............1................1
1......1.......................1..............1................0
简单的说
And:与运算。只有同为真时才为真,近似于乘法。
Or:或运算。只有同为假时才为假,近似于加法。
Xor:异或运算。相同为假,不同为真。
定义
真真得真(与运算),假假得假(或运算),同假异真(异或运算)。
基本公式
注:此处"+"表示"或"," · " 表示"与"," ' "表示"非"
(1) 1' = 0; 0' = 1
(2) A + 1 = 1
(3) A + 0 = A
(4) A + A = A
(5) A + A' = 1
(6) A · 0 = 0
(7) A · 1 = A
(8) A · A = A
(9) A · A' = 0
(10) A + B = B + A
(11) A · B = B · A
(12) A + (B + C) = (A + B) + C
(13) A · (B · C) = (A · B) · C
(14) A · (B + C) = A · B + A · C
(15) A + (B · C) = (A + B) · (A + C)
(16) (A')' = A
(17) (A + B)' = A' · B'
(18) (A · B)' = A' + B'
逻辑变量之间的运算称为逻辑运算。二进制数1和0在逻辑上可以代表"真"与"假"、"是"与"否"、"有"与"无"。这种具有逻辑属性的变量就称为逻辑变量。
计算机的逻辑运算和算术的逻辑运算的主要区别是:逻辑运算是按位进行的,位与位之间不像加减运算那样有进位或借位的联系。
逻辑运算主要包括三种基本运算:逻辑加法(又称"或"运算)、逻辑乘法(又称"与"运算)和逻辑否定(又称"非"运算)。此外,"异或"运算也很有用。
逻辑加法
逻辑加法("或"运算)通常用符号"+"或"∨"来表示。逻辑加法运算规则如下:
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。
逻辑乘法
逻辑乘法("与"运算)通常用符号"×"或"∧"或"·"来表示。逻辑乘法运算规则如下:
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。
逻辑否定
逻辑非运算又称逻辑否运算。其运算规则为:
┐0=1 (非0等于1)
┐1=0 (非1等于0)
异或运算
异或运算(半加运算)通常用符号"⊕"表示,其运算规则为:
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