Questions tagged «operator-precedence»

14
即使在没有必要的情况下,我也应该在逻辑语句中使用括号吗?
假设我有一个布尔条件,a AND b OR c AND d并且我使用的语言中AND的操作先例比的先后顺序高OR。我可以编写以下代码行: If (a AND b) OR (c AND d) Then ... 但实际上,这等效于: If a AND b OR c AND d Then ... 是否有支持或反对包含多余括号的论点?实践经验是否表明值得将它们包括在内以提高可读性?还是表明开发人员需要真正坐下来并对他们的语言基础充满信心?

2
为什么按位运算符的优先级比比较低?
有人可以解释其原理,为什么在一堆最流行的语言中(请参见下面的注释),比较运算符(==,!=,<,>,<=,> =)的优先级要高于按位运算符(&,|,^ ,〜)? 我认为我从未遇到过这种优先次序自然的用途。总是这样的: if( (x & MASK) == CORRECT ) ... // Chosen bits are in correct setting, rest unimportant if( (x ^ x_prev) == SET ) // only, and exactly SET bit changed if( (x & REQUIRED) < REQUIRED ) // Not all conditions satisfied 我要使用的情况: flags = …

3
调车场算法中函数的优先级
如维基百科所述,我正在研究调车场算法。 与运算符打交道时的算法描述如下: 如果令牌是运算符,则为o1,则: 而在运算符堆栈的顶部有一个运算符令牌o2,或者 o1 is left-associative and its precedence is less than or equal to that of o2, or o1 is right associative, and has precedence less than that of o2, 然后将o2从运算符堆栈中弹出,进入输出队列; 将o1推入操作员堆栈。 但是,他们给出了以下示例: 输入: sin max 2 3 / 3 * 3.1415 当算法命中/令牌时,对应该发生的情况的描述如下: Token | Action | Output …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.