有符号数的转换和 无符号数的转换(转)
(2010-05-26 11:58:57)
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 | 使用双精度浮点数表示。可能丢失精度。 |
|
|
2-5无符号数的转换
| 从 | 到 | 方法 | unsigned char | char | 最高位作为符号位 | unsigned char | short | 0扩展 | unsigned char | long | 0扩展 | unsigned char | unsigned short | 0扩展 | unsigned char | unsigned long | 0扩展 | unsigned char | float | 转换到long; 再从 long 转换到float | unsigned char | double | 转换到long; 再从 long 转换到double | unsigned char | long double | 转换到long; 再从 long 转换到double | unsigned short | char | 保留低位字节 | unsigned short | short | 最高位作为符号位 | unsigned short | long | 0扩展 | unsigned short | unsigned char | 保留低位字节 | unsigned short | unsigned long | 0扩展 | unsigned short | float | 转换到long; 再从 long 转换到float | unsigned short | double | 转换到long; 再从 long 转换到double | unsigned short | long double | 转换到long; 再从 long 转换到double | unsigned long | char | 保留低位字节 | unsigned long | short | 保留低位字节 | unsigned long | long | 最高位作为符号位 | unsigned long | unsigned char | 保留低位字节 | unsigned long | unsigned short | 保留低位字节 | unsigned long | float | 转换到long; 再从 long 转换到float | unsigned long | double | Convert directly to double | unsigned long | long double | 转换到long; 再从 long 转换到double |
|
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理