龙空技术网

带你轻松学习C语言的语法:逻辑运算

编程讲师HoLee 285

前言:

眼前同学们对“在c语言中是什么运算”大概比较着重,小伙伴们都想要了解一些“在c语言中是什么运算”的相关知识。那么小编也在网摘上汇集了一些有关“在c语言中是什么运算””的相关内容,希望我们能喜欢,看官们一起来了解一下吧!

在计算机中不只有数字方面的运算,还有逻辑方面的运算,这篇文章将带领大家来学习C语言中的逻辑运算。喜欢这篇文章的同学们别忘了点赞 + 关注,你的支持是我创作最大的动力!

在电路中,逻辑门电路有很多种,最基本的就是与、或、非、异或和同或,其他的都是基于这些逻辑门的组合逻辑门电路。

而C语言中的逻辑运算符有四个,分别是:&&、||、!、^,其中&&和||又有类似的数值运算&和|。输入的时候,&可以通过按住Shift键不动再按一下大键盘上的7;|可以按住Shift键不动再按一下退格键周围的\,因为不同的键盘地方不一样,所以说的是周围,同学们自己找一下吧,那个按键上画了两个符号,一个是斜杠一个是竖线;^需要在英文模式下按住Shift键不动再按一下6,也就是中文模式下的省略号,在英文模式下就是上箭头。记住感叹号是英文半角状态下的。

其中,&&是逻辑与运算;&是数值与运算(这里的“与”是名词不是连接词);||是逻辑或运算;|是数值或运算(解释同“与”运算,是名词不是连接词);!是“非运算”;^是异或运算。

逻辑运算在计算的时候也有记忆的方法,单纯的记规则容易晕,我给同学们讲故事吧,在讲故事以前先说明一下,角色“张三”和“李四”来没来用0和1来表示,来了就是1,没来就是0:

与运算:

老师找张三【与】李四到办公室来一趟,结果张三来了,李四没来,老师不高兴,所以就是false(假)。(1 & 0 = 0)老师找张三【与】李四到办公室来一趟,结果张三没来,李四来了,老师不高兴,所以就是false(假)。(0 & 1 = 0)老师找张三【与】李四到办公室来一趟,结果张三和李四都没来,老师不高兴,所以就是false(假)。(0 & 0 = 0)老师找张三【与】李四到办公室来一趟,结果张三和李四都来了,老师高兴,所以就是true(真)。(1 & 1 = 1)

或运算:

老师找张三【或】李四到办公室来一趟,结果张三来了,李四没来,老师高兴,所以就是true(真)。(1 | 0 = 1)老师找张三【或】李四到办公室来一趟,结果张三没来,李四来了,老师高兴,所以就是true(真)。(0 | 1 = 1)老师找张三【或】李四到办公室来一趟,结果张三和李四都没来,老师不高兴,所以就是false(假)。(0 | 0 = 0)老师找张三【或】李四到办公室来一趟,结果张三和李四都来了,老师也高兴,所以就是true(真)。(1 | 1 = 1)

非运算比较简单,就不讲故事了,简单来说就是非真就是假(!1 = 0),非假就是真(!0 = 1),就是要跟原值反着来。

异或运算不适合讲故事,只要记住“异”就是不一样的意思,只要前后不一样就是true(真),前后一样就是false(假),比如:1 ^ 0 = 1,0 ^ 1 = 1,0 ^ 0 = 0,1 ^ 1 = 0。在电路中还有同或门,这个C语言里没有直接的同或运算符。

一个&符号是在数值计算中使用的,运算方法是把数值转换为二进制后再按位与,比如:3 & 5,3的二进制是11,5的二进制是101,因为11只有两位而101有三位,所以在11的前面补0,可以保证在数值不变的情况下增加位数,所以就是011 & 101 = 001,也就是1,所以3 & 5 = 1。

一个|符号也是一样,比如3 | 5就是011 | 101 = 111,也就是7,所以3 | 5 = 7。

非运算不能用于数值计算,想把数值按位取非可以用“取反”运算符,也就是~(波浪线),比如:~3 = ~11 = -4,看到这里可能同学们都懵了,应该是0啊,怎么会是-4呢?

要知道我们的操作系统是32位或是64位的,现在的系统估计大部分都是64位,所以就有64位数字,前面全是0,最后两位才是1,一取反,前面的全是1,最后两位变成0,用计算器算一下就知道是-4了,你得这么算才行,当然写62个1太费劲了,用8位就行

记得把QWORD变成BYTE,多点几下就行了,点到BYTE就变成8位了。

标签: #在c语言中是什么运算