C语言的逻辑运算和按位运算怎么区分?

查过相关的问题,但无法解决。求高手解决迷惑,可以清晰的讲明一下吗?特别是按位运算... 查过相关的问题,但无法解决。求高手解决迷惑,可以清晰的讲明一下吗?特别是按位运算 展开
 我来答
爱教育爱学习
高粉答主

2019-12-11 · 学而不思则罔,思而不学则殆
爱教育爱学习
采纳数:384 获赞数:112734

向TA提问 私信TA
展开全部

1、作用的不同

&&、||是逻辑运算符,用于从左到右求表达式的真值。假设x=1;y=2;那么x&&y=1;x||y=1。

&、|是位运算符,是对x,y进行位运算,x,y取值如上,那么有x&y=0;(x的二进制表示为00,y的二进制表示为10)。

2、判断这个表达式的真或假的不同

&和|既是逻辑运算符也是位运算符,而&&和||只是逻辑运算符。

当&与&&同为逻辑运算符时,它们都用于连接两个Boolean类型的表达式,当&和&&的两端表达式同时为真时,表达式的结果为真,只要有一端为假,那么表达式结果为假。

例:3>5&3>2;3>5&&3>2;

当|和||的两端表达式同时为假时,表达式的结果为假,只要有一端为真,那么表达式结果为真。

3、计算方式不同

当使用&运算符:计算机在判断表达式的值的时候,先判断3>5的值为假,然后再判断3>2的结果为真,于是最后的结果是假&真为假;

但是当我们使用&&运算符的时候:计算机先判断3>5的值为假,此时表达式的结果一定为假,所以计算机就不再往下判断了,判定表达式结果为假。

百度网友d3e418b2c
推荐于2017-09-28 · TA获得超过2195个赞
知道大有可为答主
回答量:1361
采纳率:0%
帮助的人:1699万
展开全部
逻辑与:&& 按位与:&
逻辑或:|| 按位或:|

逻辑运算是指表达式返回值的运算,这里的值只有真与假;按位运算是指数值转换为二进制后的位运算,每位是0或1

真 逻辑与 真 结果为真
真 逻辑与 假 结果为假

1 按位与 1 结果为1
1 按位与 0 结果为0
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mlper_
推荐于2017-09-06 · TA获得超过8017个赞
知道大有可为答主
回答量:4863
采纳率:78%
帮助的人:1233万
展开全部
  1. 可以按照符号的不同来区分,C语言中逻辑运算符和按位运算符的符号是不一样的

  2. C语言中提供了三种逻辑运算符:&&(与运算),  ||(或运算),  !(非运算)

    与运算符(&&)和或运算符(||)均为双目运算符。具有左结合性。非运算符(!)为单目运算符,具有右结合性

  3. C语言提供了六种位运算符:
    &               |                ^             ~        <<         >>    

    按位与    按位或    按位异或      取反         左移      右移

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
莹先勋7
2010-08-25 · TA获得超过236个赞
知道小有建树答主
回答量:342
采纳率:0%
帮助的人:114万
展开全部
逻辑运算使用的是逻辑运算符,通常是双个符号的,而按位运算则是按位运算符,通常是单个符号的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lin_3320
2010-08-25 · 超过21用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:58万
展开全部
逻辑运算,用逻辑操作符,

按位运算,就是操作0和1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式