数字1101004800如何与数字20对应?

时间:2011-06-27 04:40:44

标签: logic digital

我正在尝试学习如何使用C ++修改内存位置,在使用MineSweeper时,我注意到当内存中的时钟值为1101004800时,距离游戏还有20秒。数字1101529088对应于进入游戏的21秒。有人可以向我解释如何将这些10位数的长号转换为10号基数吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:4)

1101004800十进制是0x41A00000十六进制,这是20.0的IEEE-754表示。 1101529088十进制为0x41A80000十六进制,即21.0的IEEE-754表示。