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