在C语言中,&与&&的区别是什么?&的功能又是什么?_?
1个回答
2016-08-08 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
“&&”(逻辑与)是逻辑运算符。 “逻辑与”相当于生活中说的“并且”,就是两个条件都同时成立的情况下“逻辑与”的运算结果才为“真”。
“&”是位运算符。
与运算(&)
双目运算。二个位都置位(等于1)时,结果等于1,其它的结果都等于0。
1 & 1 == 1
1 & 0 == 0
0 & 1 == 0
0 & 0 == 0
与运算的一个用途是检查指定位是否置位(等于1)。例如一个BYTE里有标识位,要检查第4位是否置位,代码如下:
BYTE b = 50;
if ( b & 0x10 )
cout < < "Bit four is set " < < endl;
else
cout < < "Bit four is clear " < < endl;
上述代码可表示为:
00110010 - b
& 00010000 - & 0x10
----------------------------
00010000 - result
可以看到第4位是置位了
“&”是位运算符。
与运算(&)
双目运算。二个位都置位(等于1)时,结果等于1,其它的结果都等于0。
1 & 1 == 1
1 & 0 == 0
0 & 1 == 0
0 & 0 == 0
与运算的一个用途是检查指定位是否置位(等于1)。例如一个BYTE里有标识位,要检查第4位是否置位,代码如下:
BYTE b = 50;
if ( b & 0x10 )
cout < < "Bit four is set " < < endl;
else
cout < < "Bit four is clear " < < endl;
上述代码可表示为:
00110010 - b
& 00010000 - & 0x10
----------------------------
00010000 - result
可以看到第4位是置位了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询