当前位置:首页 > 初赛 > 正文内容

信息学奥赛知识点(十一)----逻辑运算

亿万年的星光5年前 (2021-01-28)初赛2686
一、介绍

逻辑运算又称布尔运算。布尔用数学方法研究逻辑问题,成功地建立了逻辑演算。他用等式表示判断,把推理看作等式的变换。这种变换的有效性不依赖人们对符号的解释,只依赖于符号的组合规律 。

二、计算机编程中的逻辑运算

1.运算优先级表

编辑
优先级运算符说明结合性
1::范围解析自左向右

2
++ --后缀自增/后缀自减
()括号

[ ]
数组下标
.成员对象
->指针
3++ --前缀自增/前缀自减自右向左
+ -加 减
! ~逻辑非 / 按位取反
type强制类型转换
*取指针
&取地址
sizeof()某某的大小
4.* ->*成员对象选择,成员指针选择自左向右
5* / %乘 除 取余
6+ -加 减
7< <= > >=小于 小于等于, 大于,大于等于
8!ERROR! illegal character '!'等于 不等于
9&按位与
10|按位或
11^按位异或
12&&与运算
13||或运算
14? :三目运算符自右向左
15=赋值
+= -=相加后赋值/相减后赋值
*= /= %=相乘/相除/取余 后赋值
<<= >>=位左移/右移 后赋值
&= ^= |=位与运算/异或运算/或运算 赋值
16逗号

同一优先级的运算符,结合次序由结合方向所决定。简单记就是:

!> 算术运算符 > 关系运算符 > && > || > 赋值运算符。

或者:
算术运算 > 移位运算 > 关系运算  > 位运算 > 逻辑运算 > 赋值运算

2. 位运算符(区别于逻辑运算符)


符号名称说明示例
&按位与把参与运算的两个数对应的二进制位想与,只有对应的二进制都是1时,结果才为1,否则为09&5中9可以写成00001001。5可以写成00000101,那么9&5的运算结果为0000 0001。输出为1
|按位或把参与运算的两个数对应的二进制位相或,也就是只要两个数中只要有一个为1,结果为1.9|5中9可以写成00001001。5可以写成00000101,那么9|5的运算结果为0000 1101。输出为13
^按位异或把参与运算的两个数对应二进制相异或,对应的二进制数组不相同时,结果为1,否则为0。1^1=0,1^0=1,0^0=0 0^1=1 9|5中可以写成00001001^00000101 =00001100,结果是12
~按位取反把运算数的各个二进制按位求反~9相当于 ~(00001001),结果是11110110
<< 左移把<<左边的数的各二进制位向左移若干位。把<<右边的数是指定移动的位数,高位丢弃,低位补0。a<<4,a=00000011(十进制3),左移4位是为00110000(十进制为48)
>> 右移把>>左边的数的各二进制位向右移若干位。把<<右边的数是指定移动的位数,a=15,a>>2表示把00001111右移0000 0011(十进制3)


3.逻辑运算符


符号名称说明示例
&&
1 && 0 =0
||
1 || 0 = 1
^异或
1 ^ 1 =0

! 1 = 0
==等于

大于

小于

!=不等于

<=小于等于

>=大于等于


运算顺序: 非>与>或

举例

a=true, b= true, c =false

a || b && c

如果先 || 后 && 结果是0
如果先 && 后 || 结果是1
正确结果应该是1。


4. 运算规则与区别(真值表)

编辑
数据运算 
pq非(p)异或

一真或为真,一假且为假,

相同异或为0,不同为1

区别:

      位运算一般指的是二进制运算,类似于加减,结果是一个数字

       逻辑运算一般指的是布尔运算,结果有true或false。


三、数学中的逻辑运算


符号名称
异或
符号名称
and
or
not
xor异或


四、集合中逻辑运算(提高组)


符号名称
~


说明:

1.表示并运算(类似加法),指的是两个集合(例如A和B)里面所有的元素组成一个新集合。

A={1,2,4,8}   B={2,5,6,7,3}

则A∪B={1,2,3,4,5,6,7}

2. 表示并运算,指的是两个集合(例如A和B)里面所有的元素重叠部分组成一个新集合

A={1,2,4,8}   B={2,5,6,7}

则A∩B={2}

3. -表示减运算。就是A集合删去A∩B里元素的后组成一个新的集合。

A={1,2,4,8}   B={2,5,6,7}

则A-B={1,4,8}

4. ~表示非运算,比较特别,比如说是~A

A={1,2,4,8},~A无法直接求解,必须要有全集。假如全集是{1,2,3,4,5,6,7,8}。那么~A就是全集删去A集合剩余的元素,组成 一个新的集合。结果是{3,5,6,7}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

2019年CSP-J 初赛题目及答案解析

2019年CSP-J 初赛题目及答案解析

扫码关注上面微信公共号或直接搜索微信公众号:编程练练看,发送“CSPJ2019”获取文章答案查看详细解题过程:原版初赛题目下载链接:CSP-J相关资料 - 青少年编程知识记录 (codecoming....

信息学奥赛知识点(八)----计算机网络

信息学奥赛知识点(八)----计算机网络

一、网络的定义所谓计算机网络,就是利用通信线路和设备,把分布在不同地理位置上的多台计算机连接起来。计算机网络是现代通信技术与计算机技术相结合的产物。网络中的计算机与计算机之间的通信依靠协议进行。协议是...

信息学奥赛知识点(三)----计算机软件系统

信息学奥赛知识点(三)----计算机软件系统

软件是计算机的灵魂,硬件为软件提供了运行平台,软件和硬件相互关联,两者之间相互转换,相互补充。计算机的软件系统分成系统软件和应用软件两大类。一、系统软件常见的操作系统:分为桌面操作系统、服务器操作系统...

NOIP2008年普及组初赛题目答案及解析

NOIP2008年普及组初赛题目答案及解析

一、 单项选择题 (共20题,每题1.5分,共计30分。每题有且仅有一个正确答案.)。1.微型计算机中,控制器的基本功能是(  A )。A. 控制机器各个部件协...

信息学奥赛知识点(十三)----树和二叉树(上)

信息学奥赛知识点(十三)----树和二叉树(上)

树是一种非线性结构,栈和队列都是线性结构(线性一般是指每一个元素都通常只有一个前驱和一个后继)一、树的定义一棵树是由n(n>0)个元素组成的有限集合,其中:(1)每个元素称为结点(node)(2...

2019年CSP-S初赛题目及答案解析

2019年CSP-S初赛题目及答案解析

一、单项选择题1.若定义int a=7; float x=2.5,y=4.7;则表达式x+a%3*int(x+y)%2的值是:()A.0.000000      &nbs...