ok as far as i know ! or known as NOT inverts a result of an expression.
if(5 < 8)
{
//some code
}
// some code will be executed because the expression is true
if(!(5 < 8))
evaluates as FALSE because the expression is TRUE
this is the same as in the link above.
hope it helps a little bit....
DG