Блог пользователя BTSJimin

Автор BTSJimin, история, 3 недели назад, По-английски

Sometimes, I use too much '(',')' because of this anxiety:

if( ( ((a+5)/2)  + (c*2))  == ((((b^1)&1) * 2) + 3) ){
    blabla;
}

How to solve this issue?

  • Проголосовать: нравится
  • +39
  • Проголосовать: не нравится

»
3 недели назад, # |
  Проголосовать: нравится +1 Проголосовать: не нравится

lmao same (╥﹏╥)

»
3 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Me too lol

»
3 недели назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится

I just use them with bitwise operations

»
3 недели назад, # |
  Проголосовать: нравится +38 Проголосовать: не нравится

You needn't (and, shouldn't) solve this issue.

You needn't to spend a lot of time debugging on a few brackets.

»
3 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

can someone explain it for me?

»
3 недели назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

same. Also this happens in math when im writing equations lol.

»
3 недели назад, # |
  Проголосовать: нравится +24 Проголосовать: не нравится

If you are on Linux, use man operator for your quick reference (online manual of operator(7)).

Generally, I think it's fine to use parentheses for bitwise and logical operators. Precedence of arithmetic operators is easy to remember.

»
3 недели назад, # |
  Проголосовать: нравится +36 Проголосовать: не нравится

I try to put intermediate values into temporary variables. It also makes things faster when I get WA and need to debug

»
3 недели назад, # |
  Проголосовать: нравится -56 Проголосовать: не нравится

use ChatGPT it's straight forward

»
3 недели назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

I don’t think this is a problem. In fact, when expressions involve multiple bitwise operations, using extra parentheses is often a good practice as it helps prevent any potential precedence errors. So, this approach can actually make your code clearer and safer.

»
3 недели назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

For a complete list, check this link.

Here, Operators are arranged from highest to lowest precedence. Operators at the top are evaluated first, while those with the same precedence are evaluated based on their associativity.