gpt4 book ai didi

c++ - 将 time_t 转换为 double 并返回

转载 作者:搜寻专家 更新时间:2023-10-31 01:32:47 24 4
gpt4 key购买 nike

我想将 time_t 值转换为 double 然后返回:doubletime_t

在什么情况下我可能会在转换过程中丢失数据?

最佳答案

... convert time_t value to double and then back ...
In what cases I might lose data in converting?

在某些情况下,什么也没有。 time_t 是一些真实类型。 C11 §7.27.1 3
整数和实数浮点类型统称为实数类型。 C11 §6.2.5 17

因此,如果 time_tdouble 相同,则转换时不会有任何损失。

time_t 通常表示为 32 或 64 位整数。 Typical double可以准确编码所有 53 位无符号值(或 54 位有符号整数值),因此当 time_t 是 32 位整数时,不会发生转换损失。当 time_t 是一个 64 位整数时,转换为 double 开始导致舍入值超出 253 的幅度。

如果 double 值来自原始 time_t,则第二个转换后退步骤永远不会发生任何损失,但如果是任意 double<,则可能会导致未定义的行为 试图更改为整数。

不太常见,time_t可以是floatlong doublelong long等问题适用。

关于c++ - 将 time_t 转换为 double 并返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42557154/

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