C++ 将时间\u t转换为双倍和反向
我假设将C++ 将时间\u t转换为双倍和反向,c++,c,C++,C,我假设将time\u t值转换为double,然后返回:double转换为time\u t 在什么情况下,转换时可能会丢失数据 。。。将时间\u t值转换为双倍,然后返回… 在什么情况下,转换时可能会丢失数据 在某些情况下,什么都没有time\t是一种真正的类型。C11§7.27.1 3 整数和实浮点类型统称为实类型。C11§6.2.5 17 因此,如果time\u t与double相同,则在转换过程中预计不会出现任何损失 时间\u t通常表示为32位或64位整数。可以对所有53位无符号值(或5
time\u t
值转换为double
,然后返回:double
转换为time\u t
在什么情况下,转换时可能会丢失数据
。。。将时间\u t
值转换为双倍,然后返回…在什么情况下,转换时可能会丢失数据 在某些情况下,什么都没有
time\t
是一种真正的类型。C11§7.27.1 3整数和实浮点类型统称为实类型。C11§6.2.5 17 因此,如果
time\u t
与double
相同,则在转换过程中预计不会出现任何损失
时间\u t
通常表示为32位或64位整数。可以对所有53位无符号值(或54位有符号整数值)进行精确编码,因此当time\t
为32位整数时,不应发生转换丢失。当time\u t
是64位整数时,到double
的转换开始产生数值大小超过253的舍入
如果double
值来自原始时间
,则第二次转换返回步骤不会发生任何损失,但如果试图将任意double
更改为整数,则可能会导致未定义的行为
不太常见的是,
time\u t
可以是浮点型
、长双精度
、长双精度
,等等。类似的问题也适用。您的时间的基本类型是什么?根据标准未指定。可能重复