我正在尝试学习如何使用 C++ 修改内存位置,并且在搞乱 MineSweeper 时,我注意到当内存中的时钟值为 1101004800 时,游戏进入了 20 秒。数字 1101529088 对应于游戏进入 21 秒。有人可以向我解释如何将这些 10 位长数字转换为 base-10 吗?
问问题
325 次
2 回答
8
他们使用浮点数来表示计时器。这是一个将整数转换为浮点数的程序:
#include <stdio.h>
int main() {
int n = 1101004800;
int n2 = 1101529088;
printf("%f\n", *((float*)&n));
printf("%f\n", *((float*)&n2));
return 0;
}
输出:
20.000000
21.000000
于 2011-06-27T04:49:10.607 回答
4
1101004800
十进制是0x41A00000
十六进制,它是20.0
. 1101529088
十进制是0x41A80000
十六进制,它是21.0
.
于 2011-06-27T04:47:04.140 回答