Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1695844
  • 博文数量: 362
  • 博客积分: 10587
  • 博客等级: 上将
  • 技术积分: 4098
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-10 18:15
文章分类

全部博文(362)

文章存档

2014年(1)

2013年(58)

2011年(115)

2010年(112)

2009年(76)

分类: C/C++

2010-01-05 15:08:00

& 是位运算符
&&是逻辑运算符
 
& 位与 仅仅用在二进制中,不能用在十进制等用在二进制是1&1 = 1,1&0=0,0&1=0,0&0=0,也就是说二进制中2个都为1才能为1
比如:1001 0011 & 0010 1101 = 0000 0001,
&& 逻辑 与  true && true  = true;true && false  = false;false && true  = false;false && false  = false.
 
如:(1>2)&&(10/0)
本来后面的10/0是错误的 但是前面的1》2已经是false能够判断出来是假了 后面的就不会再执行了
所以不会报错
 

| 运算符查看两个表达式的二进制表示法的值,并执行按位“或”操作。该操作的结果如下所示:

0101   (expression1)
1100   (expression2)
----
1101   (结果)

任何时候,只要任一表达式的一位为 1,则结果的该位为 1。否则,结果的该位为 0。

0|0 = 0

0|1 = 1

1|1 = 1

1|0 = 1

 

逻辑“或”运算符 (||)

对两个表达式执行逻辑“或”。

result = expression1 || expression2

参数

result

任何。

expression1

任何。

expression2

任何表达式。

说明

如果两个表达式中有一个或两个等于 True,则 resultTrue。下面的表举例说明了 result 是如何被决定的:

如果 expression1 是 且 expression2 是 则 result 是
True True True
True False True
False True True
False False False

 

^ 运算符查看两个表达式的二进制表示法的值,并执行按位异或。该操作的结果如下所示:

0101   (expression1)
1100   (expression2)
----
1001   (结果)

当且仅当只有一个表达式的某位上为 1 时,结果的该位才为 1。否则结果的该位为 0。

阅读(556) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~