一部の定数式では、精度が不足するためにデータが失われる可能性があります。このような問題を検出するのは非常に困難です。各整数定数の後に (u、U、l、L) を組合せたものを追加して、定数式にデータ型を明示的に指定してください。キャストを使用して定数式のデータ型を指定することもできます。
int i = 32; long j = 1 << i; /* 右辺は整数式なので、j には 0 が */ /* 代入されます */
推奨される使用法
int i = 32; long j = 1L << i;