~(1<<(sizeof(int)*8-1))
じゃ駄目なのか?