gpt4 book ai didi

c - 如何在C中将负零转换为正零?

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

你好,我正在学习 Objective C,我正在做经典的计算器示例。

问题是,当我将零乘以任何负数时,我得到的是负零,我将结果放入( double )类型!

为了查看发生了什么,我使用了调试器,这就是我得到的:

(gdb) print -2*0
$1 = 0

(gdb) print (double) -2 * 0
$2 = -0

在第二种情况下,当我将它转换为 double 类型时,它变成了负零!我怎样才能在我的应用程序中解决这个问题?我需要和 double 一起工作。如何修复结果,以便在结果应为零时得到零?

最佳答案

我做了一个简单的测试:

double d = (double) -2.0 * 0;

if (d < 0)
printf("d is less than zero\n");
if (d == 0)
printf("d is equal to zero\n");
if (d > 0)
printf("d is greater than zero\n");

printf("d is: %lf\n", d);

输出:

d is equal to zero
d is: -0.000000

因此,要解决此问题,您可以在应用程序中添加一个简单的 if-check:

if (d == 0) d = 0;

关于c - 如何在C中将负零转换为正零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9657993/

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