我正在尝试学习如何使用C++修改内存位置,在使用MineSweeper时,我注意到当内存中的时钟值为1101004800时,它进入游戏的时间为20秒.数字1101529088对应于进入游戏的21秒.有人可以向我解释如何将这些10位数的长号转换为10号基数?
他们使用浮动代表计时器.这是一个将整数转换为浮点数的程序:
#include <stdio.h>
int main() {
int n = 1101004800;
int n2 = 1101529088;
printf("%f\n", *((float*)&n));
printf("%f\n", *((float*)&n2));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
20.000000
21.000000
Run Code Online (Sandbox Code Playgroud)
1101004800十进制为0x41A00000十六进制,它是 的 IEEE-754 表示形式20.0。 1101529088十进制为0x41A80000十六进制,它是 的 IEEE-754 表示形式21.0。