首页
社区
课程
招聘
[求助]一个浮点问题
发表于: 2012-4-25 12:30 4954

[求助]一个浮点问题

2012-4-25 12:30
4954
xor eax,eax
    mov dword ptr ss:[ebp-20],eax
    mov dword ptr ss:[ebp-1C],0x40B37300
    fld qword ptr ss:[ebp-20]  // 到这里,堆栈为4979.00000000

问题:40B37300怎么就转换成了4979呢?

谢谢大家指点!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 2993
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
算了一下,按照IEEE的单精度浮点数标准,这个数字肯定不对哦。。。阶码10000001,按照移码算2的话,肯定没法表示4千多的数,估计不是浮点转换
2012-4-25 13:09
0
雪    币: 33
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
调试原程序后得到4979,又用delphi 内联汇编这段代码,得到的还是4979。
2012-4-25 13:21
0
雪    币: 196
活跃值: (135)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
4
LZ,,这里是双精度的浮点数,
2012-4-25 13:25
0
雪    币: 2993
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
阁下能解释一下为什么是双精度吗?只有32位呀。。。
2012-4-26 10:47
0
雪    币: 33
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
0x40B37300是日期,是双精度的浮点数。
搞明白了,谢谢大家。
2012-5-3 10:52
0
雪    币: 31
活跃值: (48)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
fld qword ptr ss:[ebp-20]
qword好像是8字节哦,64位是双精度浮点数,80位是扩展双精度。。。
2012-5-3 11:17
0
游客
登录 | 注册 方可回帖
返回
//