I have a method to check weather a number is even or odd:

```
   -(BOOL)numberIsEven:(unsigned int *)x {

  if (x & 1)
 {
  return TRUE;
 }
 else
{
 return FALSE;
  }
}

```

however whenever I compile it I get the error: 

```
Invalid operands to binary %

```

So it's compiling into assembly as a modulus function and failing, somehow, however if I use a modulus based function (arguably slower) I get the same error!

Help me stack overflow

Thanks - 
Ollie