LARGE_INTEGER 大整数结构体的解析「建议收藏」

LARGE_INTEGER 大整数结构体的解析「建议收藏」在“WinNT.h”文件中定义了一个结构体LARGE_INTEGER,十分巧妙#ifdefined(MIDL_PASS)typedefstruct_LARGE_INTEGER{#else//MIDL_PASStypedefunion_LARGE_INTEGER{  struct{    DWORDLowPart;    LONGHighPart;  …

大家好,又见面了,我是你们的朋友全栈君。

在“WinNT.h”文件中定义了一个结构体LARGE_INTEGER,十分巧妙

#if defined(MIDL_PASS)
typedef struct _LARGE_INTEGER {

#else // MIDL_PASS
typedef union _LARGE_INTEGER {

    struct {

        DWORD LowPart;
        LONG HighPart;
    } DUMMYSTRUCTNAME;
    struct {

        DWORD LowPart;
        LONG HighPart;
    } u;
#endif //MIDL_PASS
    LONGLONG QuadPart;

} LARGE_INTEGER;

解释:根据预编译指令若定义宏MIDL_PASS,则将 结构体命名为LARGE_INTEGER,若未定义宏MIDL_PASS,则将联合体命名为LARGE_INTEGER。实际上如果编译器具有内置支持64位整数,使用QuadPart成员中存储的64位整数。否则,使用LowPart和HighPart成员的存储的64位整数。

在不支持内置64位情况下,即,采用联合体结构。联合体有两部分组成,DUMMYSTRUCTNAME 和 u:因为联合的长度取决于最长的数据成员的长度,相当于成员公用内存。

(1)在小端的情况下,因为低32位数字在前,高32位在后。

如果将这个64位大整数赋值0x1234:

LARGE_INTEGER data;  
data.LowPart = 0x34;  
data.HighPart = 0x12;  

(2)在大端的情况下,高32位数字在前,低32位在后。

如果将这个64位大整数赋值0x1234:

LARGE_INTEGER data;  
data.u.LowPart = 0x34;  
data.u.HighPart = 0x12;  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160109.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 垂直方向上下居中_如何实现垂直居中

    垂直方向上下居中_如何实现垂直居中一、盒子没有固定的宽和高方案1、Transforms变形这是最简单的方法,不仅能实现绝对居中同样的效果,也支持联合可变高度方式使用。内容块定义transform:translate(-50%,

  • veridata实验例(3)验证veridata发现insert操作不会导致同步

    veridata实验例(3)验证veridata发现insert操作不会导致同步

  • ODPS double类型转型精度问题总结

    ODPS double类型转型精度问题总结简介:ODPSdouble类型转型精度问题总结从相差0.0000000000001说起,本文主要是对odps的Double和Decimal的精度使用问题做一个总结。1.问题描述客户开发人员在使用maxcompute对double数据类型求和时出现错误(数据表由oracle数据库抽取到maxcompute,对应字段类型为number到double),正确的结果是1943.38,但求和结果为1943.3799999999999,结果相差了0.0000000000001,这个…

  • 归一化、标准化、正则化公式相关小记「建议收藏」

    归一化、标准化、正则化公式相关小记「建议收藏」特征缩放面对特征数量较多的时候,保证这些特征具有相近的尺度(无量纲化),可以使梯度下降法更快的收敛。这两张图代表数据是否均一化的最优解寻解过程(左边是未归一化的),从这两张图可以看出,数据归一化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解在前边讲梯度下降的时候咱们也提到过,一般在最优化前会加归一化操作机器学习最优化算法之梯度下降_RayChiu757374816的博客-CSDN博客原因就是这样会减少数据模型的震荡,以最快的速度达到最优化。缩放的方法…

  • 60道逻辑推理题及答案[通俗易懂]

    60道逻辑推理题及答案[通俗易懂]作者:billy版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处前言程序员面试题中经常会出现一些烧脑逻辑题,本人觉得这种题目非常有趣,于是收集了一些分享给大家!【1】假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。问题是如何只用这2个水壶从池塘里取得3升的水。由满6向空5倒,剩1升,把这1升倒5里,然后6剩满,倒5里面,由于5里面有1…

  • 浅析瀑布流布局及其原理视频_jquery瀑布流布局

    浅析瀑布流布局及其原理视频_jquery瀑布流布局一、什么是瀑布流很多时候我们会看到一些Vlog网站或者展示图片的网站,它们的图片明明每一张的高度大小都不同,但是却能自动地适应,排成一行一行地展示,并且下拉到底的时候,加载的图片也会自动适应,这就是瀑布流,比如下图。…

    2022年10月30日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号