标签: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截图:
eg2:-0.125 经过IEEE编码后的各位情况:
符号位:1
指数位:-3+127, 01111100
尾数位:00000000000000000000000
4字节二进制:0xBE000000
vc6.0截图:
eg3:1.3 经过IEEE编码后的各位情况:
符号位:0
指数位:0+127, 01111111
尾数位:01001100110011001100110
4字节二进制:0x3FA66666
vc6.0截图:
因为1.3f经过IEEE编码后会有精度丢失,所以我们看到如下现象,fFloat3!=1.3,所以在浮点数比较时要用区间比较而不能直接比较。
2、double类型的IEEE编码(63,62~52,51~0=>符号位,指数位,尾数位)
eg1:12.25 经过IEEE编码后的各位情况:
符号位:0
指数位:3+1023, 10000000010
尾数位:1000100000000000000000000000000000000000000000000000
4字节二进制:0x4028800000000000
vc6.0截图:
eg2:-0.125 经过IEEE编码后的各位情况:
符号位:1
指数位:-3+1023, 01111111100
尾数位:0000000000000000000000000000000000000000000000000000
4字节二进制:0xBFC0000000000000
vc6.0截图:
eg3:1.3 经过IEEE编码后的各位情况:
符号位:0
指数位:0+1023, 01111111111
尾数位:0100110011001100110011001100110011001100110011001100
4字节二进制:0x3FF4CCCCCCCCCCCC
vc6.0截图:
以上 ,就是浮点数转IEEE编码的简单介绍。
《C++反编译与逆向分析技术揭秘》之学习笔记01--浮点数转IEEE编码
标签:style http io os sp on bs ef amp
原文地址:http://www.cnblogs.com/seven1979/p/4158621.html