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

查过相关的问题,但无法解决。求高手解决迷惑,可以清晰的讲明一下吗?特别是按位运算

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的值为假,此时表达式的结果一定为假,所以计算机就不再往下判断了,判定表达式结果为假。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-28
逻辑与:&& 按位与:&
逻辑或:|| 按位或:|

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

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

1 按位与 1 结果为1
1 按位与 0 结果为0本回答被提问者采纳
第2个回答  推荐于2017-09-06

    可以按照符号的不同来区分,C语言中逻辑运算符和按位运算符的符号是不一样的

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

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

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

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

第3个回答  2010-08-25
逻辑运算使用的是逻辑运算符,通常是双个符号的,而按位运算则是按位运算符,通常是单个符号的
第4个回答  2010-08-25
逻辑运算,用逻辑操作符,

按位运算,就是操作0和1

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网