Я изучаю, как программы сохраняют данные в своей памяти. Так что я сделал простую программу, которая содержит глобальную двойную переменную:View Double Variable In Memory
#include <iostream>
#include <conio.h>
using namespace std;
double b = 512;
int main(){
getch();
return 0;
}
, когда я хочу, чтобы найти этот двойной переменной в памяти из любых программ, которые считывают память (в моем случае CheatEngine), я вижу что-то неясное.
CheatEngine Находит 512 в памяти:
Когда я преобразовать его в шестнадцатеричный он показывает:
И когда я просматриваю расположение этой переменной в памяти, Это похоже на:
Таким образом, я конвертирую 512 из десятичного в шестнадцатеричный и это 200, но нет ничего подобного 200 во втором изображении.
Что такое 4080000000000000 во втором изображении и как оно равно 512?
Полностью неясно, о чем вы спрашиваете. –
двойные типы кодируются с использованием стандарта IEEE, а не целого. –
Посмотрите: https://en.wikipedia.org/wiki/IEEE_754-1985 –