WMI 数据问题

Issue with WMI data

我想从 GPU 获取显存。我使用 WMI - Win32_VideoController class, 属性 AdapterRAM。它 returns 以字节为单位的值,所以我将它转换为 MB:

int gpuRAM_MB = (gpuAdapterRAM.uintVal) / (1024) / (1024);

当我尝试将值转换为 GB 时,它 returns 为 3 GB(在 AIDA64 等其他软件中它 returns 4 GB):

int gpuRAM_GB = (gpuAdapterRAM.uintVal) / (1024) / (1024) / (1024);

我的应用:

AIDA64:

问题是如何转换成GB?提前致谢。

使用浮点除法和ceil()函数。

int gpuRAM_MB = ceil((gpuAdapterRAM.uintVal) / (1024.0) / (1024.0));