c - c : (negative)0 is not equal to 0 中的双变量类型

标签 c numbers double zero

为什么会有负数 0.000?

为什么不等于 0.000?

最佳答案

正零和负零的概念是 IEEE 754 浮点格式的一个特征。不要求 C 实现使用 IEEE 浮点格式,尽管在实践中这是相当普遍的。

即使使用使用 IEEE 浮点格式的 C 实现,在使用数值比较(例如 == 运算符)时,正零和负零将始终比较相等。在此类实现中检测或使用正零和负零的唯一方法是使用类似 copysign() 的函数。和 signbit() (在 <math.h> 中声明)。

关于c - c : (negative)0 is not equal to 0 中的双变量类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33182969/

相关文章:

java - 非常小的程序来提高编程技能?

python - 将 double 组从 C 发送到 Python 并返回

c - 方法的位标志参数如何工作(Ansi C/C)?

无法创建 double 数组

python - Python 中的数字分组/聚类以及数字之间的相对关系

java - 如何将一行中输入的逗号分隔的数字获取到Java中的数组中

c++ - 将 double 转换为 unsigned long C++

java - 如何将文字大小设置为双倍大小

c++ double to string 显示 float

c++ - C++ 中 double 和 DOUBLE 的区别