Sun Studio 12: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;