两种不同类型的数运算的时候,根据包容性,将低级范围的转换成高范围的,将小的转换为大的。这样才能保证结果更正确。比如将单精度转换成双精度,将short转换为long等。所以,结果是双精度的。如果结果保存到单精度的变量,将会有一个warning的编译警告。
这个问题其实是基础问题。 两个单精度运算的话,系统部会转换成双精度数据再进行运算。而是直接进行运算。得出的数据结果是单精度。 如果是一单一双的话,就会报错。 如果是2个双精度的话,结果是双精度
不会转化,如果是一单一双系统会自动产生一个双精度的结果
楼主记住一个规则就行了:在计算的时候,系统把所有的数据,转化成本表达式中精度最高的类型。
C语言_023_输出显示不同类型数据_上