gpt4 book ai didi

c# - 如何在浮点计算中得到-0结果并与C#中的+0区分开来?

转载 作者:太空狗 更新时间:2023-10-29 20:47:10 26 4
gpt4 key购买 nike

MSDN 文档提到 double 类型包括负零。但是,-1.0/double.PositiveInfinity-double.Epsilon/2 似乎都返回正常的 0(并比较等于它)。我怎样才能得到-0?

最佳答案

这是一个在不检查位的情况下区分两者的实际示例。 MSDN 链接 herehere帮助我构建了这个示例。

static void Main(string[] args)
{
float a = 5 / float.NegativeInfinity;
float b = 5 / float.PositiveInfinity;
float c = 1 / a;
float d = 1 / b;
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
}

输出:

0
0
-Infinity
Infinity

请注意,-0 和 0 在比较、输出等方面看起来是一样的。但是如果您将 1 除以它们,您将得到 -Infinity 或 Infinity,具体取决于您拥有的是哪个零。

关于c# - 如何在浮点计算中得到-0结果并与C#中的+0区分开来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1043816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com