一个简单的问题,但是 |
运算符与 ||
(或)运算符相比有什么作用?
最佳答案
|
是按位 OR
运算符,而 ||
是逻辑 OR
运算符。即,前者用于将来自两个数值的位“组合”为一个 union ,而如果运算符左侧或右侧的条件为真,则后者的计算结果为真。
具体来说,按位运算符(不要与逻辑运算符混淆)对数字的每一位(在相同的序号位置)进行运算,并相应地计算出一个结果。在按位 OR
的情况下,如果其中一位为 1,则结果位为 1,只有当两位均为 0 时,结果位为 0。例如,1|2 = 3,因为:
1 = 0001
2 = 0010
--------
0011 = 3
此外,2|3 = 3,因为:
2 = 0010
3 = 0011
--------
0011 = 3
起初这似乎令人困惑,但最终您会掌握它的窍门。按位 OR
主要用于在位字段上设置标志的情况。也就是说,一个值将一组相关条件的开/关状态保持在单个值(通常是 32 位数字)中。在 Win32 中,窗口样式值是位字段的一个很好的例子,其中每个样式都由一个位(或标志)表示,如 WS_CAPTION,它指示窗口是否有标题栏。
关于c - |运算符与 ||运算符(operator),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3644953/