ReadProcessMemory и число с плавающей точкой - C#

Узнай цену своей работы

Формулировка задачи:

Добрый вечер. Почему он пишет мне "1100775387", когда должен "19.56242943" Можно как-то округлить? мне значения после точки не нужны...
    {
            byte[] buffer = ME.ReadMemory((IntPtr)0x0535FF18, sizeof(Int32));
            label1.Text = BitConverter.ToInt32(buffer, 0).ToString();
        
        }
Спасибо!
И еще вот вопрос почему когда я ставлю "uint"
 public byte [] ReadMemory(IntPtr adress, uint size)
Он у меня начинает ругаться на "size"
            ReadProcessMemory(hProcess, adress, buffer, size, out bytesRead);
А так все работает
  public byte [] ReadMemory(IntPtr adress, int size)
        {
            byte[] buffer = new byte[size];
            IntPtr bytesRead = IntPtr.Zero;
            IntPtr hProcess = OpenProcess(ProcessAccessFlags.All, false, this.pId);
            ReadProcessMemory(hProcess, adress, buffer, size, out bytesRead);
            CloseHandle(hProcess);
            return buffer;
 
        }

Решение задачи: «ReadProcessMemory и число с плавающей точкой»

textual
Листинг программы
// Делаем так
byte[] buffer = ME.ReadMemory((IntPtr)0x0535FF18, sizeof(float));
label1.Text = BitConverter.ToSingle(buffer, 0).ToString();
 
// Или так
byte[] buffer = ME.ReadMemory((IntPtr)0x0535FF18, sizeof(double));
label1.Text = BitConverter.ToDouble(buffer, 0).ToString();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.667 из 5
Похожие ответы