C++语言程序设计

| 表2-4

从 | 到 | 方法
char | short | 符号位扩展
char | long | 符号位扩展
char | unsigned char | 最高位失去符号位意义，变为数据位
char | unsigned short | 符号位扩展到short;然后从short转到 unsigned short
char | unsigned long | 符号位扩展到long; 然后从long 转到unsigned long
char | float | 符号位扩展到long; 然后从long 转到float
char | double | 符号位扩展到long; 然后从long 转到double
char | long double | 符号位扩展到long; 然后从long 转到long double
short | char | 保留低位字节
short | long | 符号位扩展
short | unsigned char | 保留低位字节
short | unsigned short | 最高位失去符号位意义，变为数据位
short | unsigned long | 符号位扩展到long; 然后从long转到unsigned double
short | float | 符号位扩展到long; 然后从long 转到float
short | double | 符号位扩展到long; 然后从long 转到double
short | long double | 符号位扩展到long; 然后从long 转到double
long | char | 保留低位字节
long | short | 保留低位字节
long | unsigned char | 保留低位字节
long | unsigned short | 保留低位字节
long | unsigned long | 最高位失去符号位意义，变为数据位
long | Float | 使用单精度浮点数表示。可能丢失精度。
long | double | 使用双精度浮点数表示。可能丢失精度。
long | long double | 使用双精度浮点数表示。可能丢失精度。