关于C语言中各类型数据间的混合运算

假如两个单精度的数据进行运算,系统是否先将其转换成双精度数据再进行运算?得出的数据结果是双精度还是单精度?

两种不同类型的数运算的时候,根据包容性,将低级范围的转换成高范围的,将小的转换为大的。这样才能保证结果更正确。比如将单精度转换成双精度,将short转换为long等。所以,结果是双精度的。如果结果保存到单精度的变量,将会有一个warning的编译警告。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-17
这个问题其实是基础问题。 两个单精度运算的话,系统部会转换成双精度数据再进行运算。而是直接进行运算。得出的数据结果是单精度。 如果是一单一双的话,就会报错。 如果是2个双精度的话,结果是双精度
第2个回答  2013-08-17
不会转化,如果是一单一双系统会自动产生一个双精度的结果
第3个回答  2013-08-17
楼主记住一个规则就行了:在计算的时候,系统把所有的数据,转化成本表达式中精度最高的类型。
第4个回答  2021-01-04

C语言_023_输出显示不同类型数据_上

相似回答