c语言中float和double运算时结果相同吗?

高分请说下,c语言中float和double运算时结果相同吗?
最新回答
温柔又爱笑

2024-11-29 12:18:34

凡有浮点参加的运算,一律转换为double型再运算,所以3.0/2和3/2.0运算时,都是3.0/2.0=1.5

建议你看下C语言的类型转换规则。

C语言隐式类型转换规则
C语言规定,不同类型的数据需要转换成同一类型后才可进行计算,在整型、实型和字符型数据之间通过类型转换便可以进行混合运算(但不是所有类型之间都可以进行转换)
.当混合不同类型的变量进行计算时,便可能会发生类型转换 相同类型的数据在转换时有规则可循:
字符必须先转换为整数(C语言规定字符类型数据和整型数据之间可以通用) short型转换为int型(同属于整型)
float型数据在运算时一律转换为双精度(double)型,以提高运算精度(同属于实型) 赋值时,一律是右部值转换为左部类型 [注]
当整型数据和双精度数据进行运算时,C先将整型数据转换成双精度型数据,再进行运算,结果为双精度类型数据
当字符型数据和实型数据进行运算时,C先将字符型数据转换成实型数据,然后进行计算,结果为实型数据