数据类型转换

  要处理各种不同类型数据的混合运算时,先要将其转换为相同的类型,即较低类型转换为较高类型,然后才能参加运算。
转换的方法有两种,自动转换和强制转换。
自动转换:当不同类型的数据进行混合运算时,编译系统将按照一定的规则自动完成。
强制转换:由程序员通过编程强制转换数据的类型。
一、默认转换(自动转换):低→高
1.当参与运算的数据的类型不同时,编译系统会自动先将它们转换成同一类型,然后再进行运算。
自动实行低类型向高类型转换,short,char → int → long →float →double。
转换的基本规则是“按数据长度增加的方向进行转换”,以保证精度不降低,及保证数据不丢失。比如 int 型数据和 long 型数据进行相加
或相减运算时,系统会先将 int 型数据转换成 long 型,然后再进行运算。这样的话运算结果的精度就不会降低,数据不会丢失,保证运算的正确性。
2.而对于同一数据类型分为有符号和无符号,无符号表示的类型级别更高。所以有符号整型和无符号整型混合运算时,有符号类型转换成无符号类型,运
算的结果是无符号的。

二、强制转换:大→小

注意:数据有可能装得下(大水桶水少),但有可能装不下(大水桶是满的),所以可能会有精度的损失,一般不建议使用。
1.格式
(目标数据类型) 表达式 or (目标数据类型)(表达式)
三、类型转换也经常发生在赋值语句中
1.在赋值运算中,当赋值号两边的数据类型不同时,右边的类型会转换为左边的类型,然后再赋给左边。
如果右边数据类型的长度比左边长,那么将会丢失数据,这样就会降低精度。所以编译器在编译
时常出现警告提示。
2.求解过程
3.注意:在进行计算,赋值运算时,一定要注意数据的一致性,检查数据是否存在
溢出的问题,数据溢出将导致数据错误。
 

 

 

 

 
posted @ 2020-05-17 14:22  泰勒斯儿童营养牙膏  阅读(175)  评论(0)    收藏  举报