c - 当除以一个小的负数时,我只得到 0

标签 c floating-point int printf type-conversion

在我当前的程序中,我遇到一个问题,当我将一个数字除以一个更大的数字时,我只会得到 0。例如,如果我将 -272 除以 400,我会得到 0。

y=x/400;
printf("%f\n", y);

这是唯一引起问题的代码。 x 是 1-500 之间的负整数,y 初始化为浮点型。

我哪里出错了?

最佳答案

写成这样 y = x/400.0f 或 y = (float)x/400

关于c - 当除以一个小的负数时,我只得到 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23071023/

相关文章:

c - 如何检查数组中是否存在值或返回下一个空闲索引

c - 对于 "int demo[4][2]",为什么它们的大小都相同 : &demo[1], demo[1],demo+1,*(demo+1) ?类型呢?

c - float 的重复递增

c++ - 两个单精度浮点 vector 的点积在 CUDA 内核中产生与在主机上不同的结果

c - (int) sizeof(void *) 和 int 有什么区别?

c++ - 无符号整数 C++ 可移植性

c - LLVM libFuzzer rss 内存增加

c - 在 c : segmentation fault 中实现 BST

python - 如何获得乘以零得到零的浮点无穷大

javascript - JavaScript 中 boolean 值与 Int 值的比较