Я хочу получить видеопамять от GPU. Я использую WMI — класс Win32_VideoController, свойство AdapterRAM. Возвращает значение в байтах, поэтому я конвертирую его в МБ:
int gpuRAM_MB = (gpuAdapterRAM.uintVal) / (1024) / (1024);
Когда я попытался преобразовать значение в ГБ, он возвращается как 3 ГБ (В других программах, таких как AIDA64, он возвращает 4 ГБ):
int gpuRAM_GB = (gpuAdapterRAM.uintVal) / (1024) / (1024) / (1024);
AIDA64:
Вопрос в том, как конвертировать его в ГБ? Заранее спасибо.
Используйте деление с плавающей точкой и ceil()
функция.
int gpuRAM_MB = ceil((gpuAdapterRAM.uintVal) / (1024.0) / (1024.0));
Других решений пока нет …