>476
unsigned intでなければOKなんじゃない?明示的にキャストしておくとか。
それとも、素直に((i<<1)>>1 == i)で調べるか。