No. the two are not the same: the !someVariable%20 does an logical invert on somevariable first, then takes the value modulus 20. If that is non-zero, it's true. Try it:
int someVariable;
for (someVariable = 0; someVariable < 21; someVariable++)
{
Console::WriteLine(L"");
if (!someVariable%20) Console::WriteLine(L"YES");
else Console::WriteLine(L"NO");
if (someVariable%20 != 0) Console::WriteLine(L"YES");
else Console::WriteLine(L"NO");
}
You get:
YES
NO
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
YES
NO
NO