c 语言中浮点数舍入,浮点数在C中舍入,我不明白为什么
我對此非常困惑……這是我的代碼摘錄..
float m = 0.0, c = 0.0;
printf("toprightx = %d bottomrightx = %d toprighty = %d bottomrighty = %d\n",
toprightx, bottomrightx, toprighty, bottomrighty);
// find m and c for symmetry line
if (toprightx == bottomrightx) {
m = (-toprighty + bottomrighty);
}
else {
m = (-toprighty + bottomrighty) / (toprightx - bottomrightx);
}
c = -toprighty - (m * toprightx);
printf("m = %f and c = %f\n", m, c);
這是輸出:
toprightx = 241 bottomrightx = 279 toprighty = 174 bottomrighty = 321
m = -3.000000 and c = 549.000000
為什么輸出舍入m和c?我已將它們聲明為浮點數,因此我不明白為什么代碼返回整數. m的正確值應為-3.8684.
(請注意,toprightx,bottomrightx,toprighty,bottomrighty已在代碼中進一步聲明為整數.)
總結
以上是生活随笔為你收集整理的c 语言中浮点数舍入,浮点数在C中舍入,我不明白为什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 教室工资管理系统c语言课程设计csdn,
- 下一篇: c语言学生管理系统修改密码,C语言下的学