gpt4 book ai didi

c++ - 除以 unsigned long long

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

目前正在尝试将 unsigned long long 除以静态值。

unsigned long long 包含完成操作所需的微秒数。我想获取此值并将其转换为秒。

这是代码片段:

double udDiffTime = ullHighResDiffTime / (unsigned long long)1000000;

在我的调试器的一种情况下,我可以看到 ullHighResDiffTime = 639。因此,udDiffTime = 0.000639。但是,我得到 udDiffTime = 0。

我确定我在某个地方犯了错误。我试过使用 1000000LL 而不是使用 (unsigned long long) 进行转换,但没有区别。

最佳答案

您正在进行整数除法,因此如果结果为 0.000639,它将被截断为 0。

如果您想要一个 float 结果,您必须至少使用一个 float 操作数。例如,尝试将 (unsigned long long) 1000000 更改为 1000000.0

unsigned long long 的范围可达 18,446,744,073,709,551,615。 double 最多可以达到 1.7E308(即,一个有 308 个零的 1)。问题是值越高,它的精度就越低,所以你需要问问自己,大值是否真的需要那么精确,或者数字的大小是否更重要。

关于c++ - 除以 unsigned long long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6517435/

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