負の数を識別できません。

signed int DATA = -128 (0xFF80。int は16ビット)

if (DATA > 0)
{式1}
else
{式2}

なぜか式1 が実行されます。(DATA > 0) は偽ではないのでしょうか。