Oracle Solaris Studio 12.2: C ユーザーガイド

7.3.7 型定数

精度が足りないと、一部の定数式でデータが失われることがあります。定数式でデータ型を指定するときは明示的に行なってください。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;