What does the modulus operator mean in a C++ if statement?

  • Context: C/C++ 
  • Thread starter Thread starter FallArk
  • Start date Start date
  • Tags Tags
    C++ If statement
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
1 reply · 2K views
FallArk
Messages
127
Reaction score
0
I have run into an if statement as shown below:

if (randoms[(x * 3) + y] % 2)

I don't really understand what this means.
Thank you for helping!
 
Physics news on Phys.org
The [m]%[/m] symbol is the modulus operator, and so the expression [m]n % 2[/m] will be true if n is odd (there is a remainder when dividing by 2) and false if n is even (there is no remainder when dividing by 2).

So, the statement:

[m]if (randoms[(x * 3) + y] % 2)[/m]

Is looking to see if the [m]((x*3) + y)[/m]th element of the [m]randoms[/m] array is odd, and if so, execute some code.