首页
社区
课程
招聘
[旧帖] [求助]浮点数问题 0.00雪花
发表于: 2007-7-2 16:10 3978

[旧帖] [求助]浮点数问题 0.00雪花

2007-7-2 16:10
3978
我想知道浮点数是怎么转换存储的,以及他的一些运算如+-*/是如何实现的?那位大哥能告诉我,谢谢!!比如一个变量,赋值为0.002,在内存里显示为6F12033B,这是怎么来的??

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 95
活跃值: (419)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
2
没人看看么???
2007-7-2 21:21
0
雪    币: 95
活跃值: (419)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
3
google了一下,明白了,内存中的排列按little endian,所以值为3b03126f,化成2进制为
0+01110110+00000110001001001101111
第一位符号位表示正数
第二部分01110110为118,则指数为(118-127)=-9
第三部分为尾数,值为0201327,则浮点数为1.0201327*2的-9次方=0.00199
不过还是有点不明白,如果把0.002/(2的-9次方)应该得到1.024,所以尾数应该为0240000,这样尾数应该为00000111010100110000000,为什么不一样拉,是我哪里理解有误,搞错了吗???
2007-7-2 23:44
0
雪    币: 1946
活跃值: (248)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
4
IEEE format
2007-7-3 02:12
0
雪    币: 95
活跃值: (419)
能力值: ( LV9,RANK:310 )
在线值:
发帖
回帖
粉丝
5
笨啊,老是抱着十进制不放,终于搞明白鸟,那个尾数是二进制的尾数,所以为
1.00000110001001001101111再乘以2的-9次方=2(-9)+2(-15)+2(-16)+2(-20)+2(-23)+2(-26)+2(-27)+2(-29)+2(-30)+2(-31)+2(-32)=0.00200000009499490261077880859375
2007-7-3 10:03
0
游客
登录 | 注册 方可回帖
返回
//