码迷,mamicode.com
首页 > 编程语言 > 详细

《C++反编译与逆向分析技术揭秘》之学习笔记01--浮点数转IEEE编码

时间:2014-12-11 23:46:48      阅读:370      评论:0      收藏:0      [点我收藏+]

标签:style   http   io   os   sp   on   bs   ef   amp   

※浮点数转IEEE编码 

1、float类型的IEEE编码(31,30~23,22~0=>符号位,指数位,尾数位)
eg1:12.25 经过IEEE编码后的各位情况:
符号位:0
指数位:3+127, 10000010
尾数位:10001000000000000000000
4字节二进制:0x41440000
vc6.0截图:
bubuko.com,布布扣

eg2:-0.125 经过IEEE编码后的各位情况:
符号位:1
指数位:-3+127, 01111100
尾数位:00000000000000000000000
4字节二进制:0xBE000000
vc6.0截图:
bubuko.com,布布扣

eg3:1.3 经过IEEE编码后的各位情况:
符号位:0
指数位:0+127, 01111111
尾数位:01001100110011001100110
4字节二进制:0x3FA66666
vc6.0截图:
bubuko.com,布布扣

因为1.3f经过IEEE编码后会有精度丢失,所以我们看到如下现象,fFloat3!=1.3,所以在浮点数比较时要用区间比较而不能直接比较。
bubuko.com,布布扣

2、double类型的IEEE编码(63,62~52,51~0=>符号位,指数位,尾数位)
eg1:12.25 经过IEEE编码后的各位情况:
符号位:0
指数位:3+1023, 10000000010
尾数位:1000100000000000000000000000000000000000000000000000
4字节二进制:0x4028800000000000
vc6.0截图:
bubuko.com,布布扣

eg2:-0.125 经过IEEE编码后的各位情况:
符号位:1
指数位:-3+1023, 01111111100
尾数位:0000000000000000000000000000000000000000000000000000
4字节二进制:0xBFC0000000000000
vc6.0截图:
bubuko.com,布布扣

eg3:1.3 经过IEEE编码后的各位情况:
符号位:0
指数位:0+1023, 01111111111
尾数位:0100110011001100110011001100110011001100110011001100
4字节二进制:0x3FF4CCCCCCCCCCCC
vc6.0截图:
bubuko.com,布布扣
以上 ,就是浮点数转IEEE编码的简单介绍。

《C++反编译与逆向分析技术揭秘》之学习笔记01--浮点数转IEEE编码

标签:style   http   io   os   sp   on   bs   ef   amp   

原文地址:http://www.cnblogs.com/seven1979/p/4158621.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!