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