为什么1/2=0?
C primer plus 课后作业 3.11.8
1 |
|
查阅发现
C 的除法,当两边都是整型值时,做整数除法,得到的也是整数,并会对形如5/3的运算结果做截断处理,并且不四舍五入
如果两边至少有一个为 float 或者 double,那么将做浮点数除法,1.0/2=0.5 。
C 并不推荐这种混合类型的除法运算,因为计算机原理上无法做到浮点数除以整数的运算。用浮点数除以整数时,C 编译器只是将整数转换为了浮点数
1 | float c=2.0; |
C primer plus 课后作业 3.11.8
1 |
|
查阅发现
C 的除法,当两边都是整型值时,做整数除法,得到的也是整数,并会对形如5/3的运算结果做截断处理,并且不四舍五入
如果两边至少有一个为 float 或者 double,那么将做浮点数除法,1.0/2=0.5 。
C 并不推荐这种混合类型的除法运算,因为计算机原理上无法做到浮点数除以整数的运算。用浮点数除以整数时,C 编译器只是将整数转换为了浮点数
1 | float c=2.0; |
Update your browser to view this website correctly.&npsb;Update my browser now