算术类型转换全解析
1. 类型转换概述
在编程中,常常会遇到需要将一个算术类型的对象转换为另一个类型的情况。例如,有一个 float 类型的对象,却需要将其作为参数传递给一个接受 int 类型对象的函数。在进行这类必要的转换时,必须确保该值能在新类型中得到充分表示。
类型转换可分为隐式转换和显式转换。显式转换可以使用强制类型转换运算符来实现,以下是两个强制类型转换的示例代码:
int si = 5;
short ss = 8;
long sl = (long)si;
unsigned short us = (unsigned short)(ss + sl);
要进行强制类型转换,只需在表达式前加上用括号括起来的类型名。上述代码中,将 si 的值转换为 long 类型,由于 si 是 int 类型,这种转换是安全的,因为该值总能在具有相同符号性的更大整数类型中表示。而第二个转换将表达式 (ss + sl) 的结果转换为 unsigned short 类型,由于转换为精度较低的无符号类型,转换结果可能不等于原始值。
隐式转换,也称为类型强制转换,会在表达式中根据需要自动发生。例如,在对混合类型进行操作时,值会被强制转换。在上述代码中,为了能在相同类型上执行 ss + sl 的加法操作, ss </
超级会员免费看
订阅专栏 解锁全文
1159

被折叠的 条评论
为什么被折叠?



