上面代码中,b=3,因为double类型的4.0/9.0要小于4.0/9.0的实际值,这是由于浮点型有效位数的限制造成的,所以9*a的值要小于4,赋值给int类型的时候发生截断,因此b=3。 2. 给浮点型数据赋初始值 给浮点型数据赋初始值的时候,如果用表达式赋初始值,如下式: double c=4/9; //c=0,因为4/9小于1,int类型截断...
因为x是float,coefficient是int,所以编译器将coefficient转换为float,并使用float算法执行乘法,结果为209...
运行结果: 所以整型数据类型是不能表示小数的! 引入新的数据类型:浮点型数据类型 2.单精度浮点类型float #include<stdio.h> int main() { float a=1.345678; float b=0.00001; float c=365.12345; printf("a=%f\n",a); printf("b=%f\n",b); printf("c=%f\n",c); return 0; } //%d占位符用于...
结果会是:单精度浮点型。在c语言中,若参与运算量的类型不同,则先转换成同一类型,然后进行运算。转换按数据长度增加的方向进行,以保证精度不降低。如int型和float型运算时,先把int量转成float型后再进行运算。