a = a + (-(+a));
別に環境依存でもないんじゃ?