e422.c

左辺が負値の可能性あり


原作: int 変数 = 0x8000FFFF; int r; r = 変数 >> 4;
修正案 unsigned int 変数 = 0x8000FFFF;

解説: shift 演算子の対象が符号付き変数なので、 サインビットをひきずる可能性があります。 shift 演算の対象となる変数には unsigned を付ける事を推奨します。