intの最上位ビットが立っているかを調べるのに
if( i < 0 )
とやるのはOKなんでしょうか?環境依存なく