类型转换可能会丢失精度:例如,实型转换为整型会舍去整数部分(并非四舍五入);很大的整型值在转换为实型时,会因采用科学计数法而丢失末位精度。
自动类型转换和强制类型转换都是临时转换,不会改变原变量的数据类型。
赋值类型转换
给变量赋值时,系统会自动把赋值运算符右侧表达式的值转换为与左侧变量相同。
实型→整型:舍去小数部分;
整型→实型:增加小数部分,小数部分为0;
字符型→整型:由于字符型占用1个字节,所以会放在整型的低8位,对于无符号整型变量高位补0。
自动类型转换

当运算符两边的运算对象类型不同时,系统会自动将占用字节数低的数据类型转换为占用字节数低的数据类型,使运算符两边的类型相同。
强制类型转换
(类型说明符)(表达式)
(int)3.14 //把3.14转换为整型