c++中&和&&有什么区别

二者都有“与”的意思,但想知道他们的用法上的不同点... 二者都有“与”的意思,但想知道他们的用法上的不同点 展开
 我来答
帐号已注销
2019-09-08 · TA获得超过25.9万个赞
知道小有建树答主
回答量:2206
采纳率:96%
帮助的人:76.8万
展开全部

区别一:意思不同

1、&表示按位与操作。

2、&&表示逻辑与的意思,即为and。

区别二:程序执行的时候不同

1、当运算符&&两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。比如 12&&23的结果就是1,12&&-1 的结果是1,123&&0的结果就是0

2、我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。

区别三:&&还具有短路的功能

如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException

扩展资料

C++中的算术运算符包括基本的算术运算符和自增、自减运算符。由算术运算符、操作数和括号构成的表达式称为算术表达式。

基本算术运算符有:+(加)、-(减或负号)、*(乘)、/(除)、%(取余)。其中“-”作为负号时为一元运算符,其余都为二元运算符。

这些基本算术运算符的意义与数学中相应符号的意义是一致的。它们之间的相对优先级关系与数学中的也是一致的,即先乘除、后加减,同级运算自左向右进行。使用算术运算符要注意以下几点:

①“%”是取余运算,只能用于整型操作数。表达式a%b的结果为a/b的余数。 “%”的优先级与“/”相同。

②当“/”用于两整型操作数相除时,其结果取商的整数部分,小数部分被自动舍弃。因此,表达式1/2的结果为0,这一点需要特别注意。

⑧C++中的“++” (自增)、 “--” (自减)运算符是使用方便且效率很高的两个运算符,它们都是一元运算符。这两个运算符都有前置和后置两种使用形式

参考资料来源:百度百科—C++

719270522
高粉答主

2019-06-24 · 说的都是干货,快来关注
知道答主
回答量:147
采纳率:0%
帮助的人:11.1万
展开全部

c++中&和&&的区别如下:

1、含义上的区别:

&&表示逻辑与的意思,即为and。当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

比如 12&&23的结果就是1,12&&-1 的结果是1,123&&0的结果就是0。

2、运算规则的区别:

表示按位与。&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。二进制与运算规则:1&1=1  1&0=0  0&0=0。

3、特殊用法的区别:

&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式。

例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException。

参考资料来源:百度百科-c++运算符

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6234792
推荐于2017-11-28 · TA获得超过1267个赞
知道小有建树答主
回答量:385
采纳率:100%
帮助的人:314万
展开全部
C语言采用了短路方式,如果&&前一个为false,直接退出。所以yanganglove的回答不对。
&&和&的不同在于&&是逻辑运算符,前后跟两个表达式,如果两个都为true,整个结果为true。而&是位运算符,按位进行,比如:
3&5
3的二进制为11
5的二进制为101
011
&101
_____
001
(按每位进行与运算)
所以3&5的结果为1。
位运算符还有|(或)、^(异或)、~(取反)等。
&&和||的优先级是相同的,而!优先级比较高。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f9c58b8
2010-08-03 · TA获得超过161个赞
知道答主
回答量:159
采纳率:0%
帮助的人:86.5万
展开全部
&&是逻辑与 &是按位与 杰物说的对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
私理主宰
2010-08-03 · TA获得超过1792个赞
知道小有建树答主
回答量:720
采纳率:0%
帮助的人:401万
展开全部
前者是按位与,后者是逻辑与
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式