Проблема с данными WMI

Я хочу получить видеопамять от GPU. Я использую WMI — класс Win32_VideoController, свойство AdapterRAM. Возвращает значение в байтах, поэтому я конвертирую его в МБ:

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

Когда я попытался преобразовать значение в ГБ, он возвращается как 3 ГБ (В других программах, таких как AIDA64, он возвращает 4 ГБ):

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

Мое приложение:
введите описание изображения здесь

AIDA64:

введите описание изображения здесь

Вопрос в том, как конвертировать его в ГБ? Заранее спасибо.

0

Решение

Используйте деление с плавающей точкой и ceil() функция.

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]