如何避免有关可能的数据丢失的警告?

Arkady

我得到了很旧的代码,其中存在这样的天数延迟计算:

#define _SECOND ((ULONGLONG) 10000000)
#define _MINUTE (60 * _SECOND)
#define _HOUR   (60 * _MINUTE)
#define _DAY    (24 * _HOUR)

FILETIME CurTime;
GetSystemTimeAsFileTime(&CurTime);

ULONGLONG qwCurResult = (((ULONGLONG)CurTime.dwHighDateTime) << 32) + CurTime.dwLowDateTime;

DWORD days = (qwCurResult - SomeULONGLONGMoment) / _DAY;

我当然会收到消息

warning C4244: 'argument' : conversion from 'ULONGLONG' to 'DWORD', possible loss of data

使用现代VS2013编译器。我知道,可以在DWORD中存储的两分钟之间的整天数。如何避免此消息?

我不想禁用所有带有此数字的警告,因为在其他地方它们可能非常有用。是否存在正确的方法来避免可能的数据丢失?除DWORD之外,我无法计算任何类型的天数(否则,我将带有此警告的位置移至代码的其他部分)。

如果您认为这是不可避免的,最好的解决方案是使用另一种获取当前日期的机制-只要有办法将SomeULONGLONGMoment(即ULONGLONG)转换为它使用的类型,我就可以使用它

麦克维尔

问题是ULONGLONG类型是64位无符号数,而DWORD类型只能容纳32位无符号数。如果您确定DWORD可以保存计算出的数字,则可以通过以下方式将其简单地转换为DWORD:

DWORD days = static_cast<DWORD>((qwCurResult - SomeULONGLONGMoment) / _DAY);

但是,如上所述,您将丢失32位数据,因此高32位将被简单地剥离和丢失。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何避免可能丢失数据的警告?

来自分类Dev

WebGL未呈现可能与警告有关

来自分类Dev

避免有关Uris的数据库信息

来自分类Dev

避免有关Uris的数据库信息

来自分类Dev

使用功能测试宏和Clang时,如何避免有关c ++ Future-extensions的警告?

来自分类Dev

与指针有关的警告

来自分类Dev

如何清除有关conluent.monitoring.interceptor的警告?

来自分类Dev

如何禁用Sparkle有关GC的警告?

来自分类Dev

如何修复有关ECDSA主机密钥的警告

来自分类Dev

使用StringUtils.isEmpty而不会丢失有关空指针的编译器警告

来自分类Dev

意外的输出可能与数据类型有关?

来自分类Dev

是否有可能避免有关void函数返回值的xrefwrap错误?

来自分类Dev

在文件夹中查找数据并提供有关丢失数据的反馈

来自分类Dev

禁用有关分离的HEAD的警告

来自分类Dev

有关使用FileSystemObject的木马警告

来自分类Dev

如何查询有关Amazon Athena本身的数据?

来自分类Dev

如何删除与实体有关的数据?| 斯林格

来自分类Dev

如何删除与实体有关的数据?| 斯林格

来自分类Dev

elasticsearch-有关如何组织我的数据的提示

来自分类Dev

如何打印有关代码执行的数据?

来自分类Dev

有关如何存储和处理多维数据的建议?

来自分类Dev

如何通过Java收集有关硬盘的数据?

来自分类Dev

Windows 7在哪里存储有关.LNK的“警告”信息?(以及如何删除警告)

来自分类Dev

var ++可能未定义有关操作的奇怪警告

来自分类Dev

缺少有关变量的警告,可能尚未初始化

来自分类Dev

var ++可能未定义有关操作的奇怪警告

来自分类Dev

哪些Debian预置参数可以避免与磁盘上已安装的系统有关的EFI安装警告?

来自分类Dev

MithrilJS:如何使用m.request()获取有关错误的XHR.status和有关成功的数据

来自分类Dev

Praat脚本可导出有关音频的所有可能数据

Related 相关文章

  1. 1

    如何避免可能丢失数据的警告?

  2. 2

    WebGL未呈现可能与警告有关

  3. 3

    避免有关Uris的数据库信息

  4. 4

    避免有关Uris的数据库信息

  5. 5

    使用功能测试宏和Clang时,如何避免有关c ++ Future-extensions的警告?

  6. 6

    与指针有关的警告

  7. 7

    如何清除有关conluent.monitoring.interceptor的警告?

  8. 8

    如何禁用Sparkle有关GC的警告?

  9. 9

    如何修复有关ECDSA主机密钥的警告

  10. 10

    使用StringUtils.isEmpty而不会丢失有关空指针的编译器警告

  11. 11

    意外的输出可能与数据类型有关?

  12. 12

    是否有可能避免有关void函数返回值的xrefwrap错误?

  13. 13

    在文件夹中查找数据并提供有关丢失数据的反馈

  14. 14

    禁用有关分离的HEAD的警告

  15. 15

    有关使用FileSystemObject的木马警告

  16. 16

    如何查询有关Amazon Athena本身的数据?

  17. 17

    如何删除与实体有关的数据?| 斯林格

  18. 18

    如何删除与实体有关的数据?| 斯林格

  19. 19

    elasticsearch-有关如何组织我的数据的提示

  20. 20

    如何打印有关代码执行的数据?

  21. 21

    有关如何存储和处理多维数据的建议?

  22. 22

    如何通过Java收集有关硬盘的数据?

  23. 23

    Windows 7在哪里存储有关.LNK的“警告”信息?(以及如何删除警告)

  24. 24

    var ++可能未定义有关操作的奇怪警告

  25. 25

    缺少有关变量的警告,可能尚未初始化

  26. 26

    var ++可能未定义有关操作的奇怪警告

  27. 27

    哪些Debian预置参数可以避免与磁盘上已安装的系统有关的EFI安装警告?

  28. 28

    MithrilJS:如何使用m.request()获取有关错误的XHR.status和有关成功的数据

  29. 29

    Praat脚本可导出有关音频的所有可能数据

热门标签

归档