0

我很困惑为什么我们可以'or'(|) 在语句中使用运算符,int i = 1 | 2 ; bool b = false | true;
而这种语法到底有什么作用?这种语法什么时候有用,有人可以请教一下这种语法的意思吗?

4

3 回答 3

3

它是按位或运算符在 2 个值之间进行数字或运算,例如 1 具有二进制值 0001,2 具有二进制值 0010,所以如果你写 1 | 2 然后它将返回 0011 值,即 3。

对于 bool,它执行布尔 OR,即仅当两个操作数都为假时才给出假。

它是为 bool 和 integer 类型定义的。它也可以为用户定义的类型重载。看看这里的msdn

于 2013-10-31T11:17:22.060 回答
1

位或

1 = 0000 0001
2 = 0000 0010
1|2 = 0000 0011

或表

A B A|B
0 1  1
0 0  0
1 0  1
1 1  1

用例

BitWise OR 用于设置特定位。

示例: 假设我们必须在 0000 0001 中设置位 2

0000 0001 | 0000 0100 = 0000 0101

于 2013-10-31T11:21:28.023 回答
1

由于整数问题已经回答:

对于布尔值,例如bool x = true | false x is true.

如果两个操作符都是假的,而且只有两者都是假的,那么它就是假的。其他一切都返回 true

 true | false  => true
false | true => true
 true | true => true

false | false => false
于 2013-10-31T11:23:48.003 回答