浮点数内存结构

最近比较闲,开始看一些以前的基础书,回顾一下以前的知识点,这里分享看《c++反汇编与逆向分析技术揭秘》的一些总结。

浮点数内存结构

float类型在向整形类型转换时,会向零取整,损失精度。

浮点数编码方式:符号、指数、尾数

Float:4字节(32位),1位符号、8位指数、其余尾数

double:8字节(64位),一位符号、11位指数、其余尾数

指数计算+127原因:IEEE编码方式规定,因为最高位代表符号,所以当指数域小于0111111时为一个负数,反之为正数,故0111111表示0

浮点数与0作比较方法:做区间比较,

//判断fFloat 是否为0
Float fTemp = 0.0001f;

If( fFloat >= -fTemp && fFloat <= fTemp )

{

    //fTemp等于0

}

 

浮点数判0做区间比较原因:部分小数转换为二进制数会得到一个无穷值,会根据尾数长度舍弃多余部分,所以会有一定误差,故采用此种方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值