所以我刚才胡乱写了这个:
int i = 0|1|2|3|4|5|6|7|8|9|10;
Console.WriteLine(i.ToString());
Console.Read();
这会输出 15。为什么会输出 15?管道运算符(operator)是做什么的?
你能给我一个实际使用它的例子吗?
我理解这是否是一个毫无意义的问题。
最佳答案
OR 运算符的基本真值表是:
A B A|B
0 0 0
0 1 1
1 0 1
1 1 1
因此,要分析您的案例 0|1|2|3|4|5|6|7|8|9|10
,以二进制表示:
0 = 0b00000
1 = 0b00001
2 = 0b00010
3 = 0b00011
4 = 0b00100
5 = 0b00101
6 = 0b00110
7 = 0b00111
8 = 0b01000
9 = 0b01001
10 = 0b01010
------------
15 = 0b01111
延伸阅读
关于c# - 管道运算符(operator),它是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15773924/