[an error occurred while processing this directive]
|
преобразование левой части равенства к типу int. При этом происходит расширение знака (1 в данном случа) в старший байт. В правой части неравенства стоит число без знака (0xFF). При сравнени оно расширяется до unsigned, т.е. старший байт заполняется нулями. Естественно, что неравенство выполняется всегда, и проверка условия просто становится не ненужной.
Можно попробовать привести инверсию к типу unsigned char явным образом и тогда все встанет на свои места.
E-mail: info@telesys.ru