Vdsp(bf561)中的浮点运算(4):FLT_MAX

本文详细解释了FLT_MAX常量的定义及其数值来源,通过分析浮点数的内部表示方法,展示了如何计算单精度浮点数的最大值。

快乐虾

http://blog.youkuaiyun.com/lights_joy/

lights@hb165.com

本文适用于

ADSP-BF561

Visual DSP++ 5.0 (update 6)

欢迎转载,但请保留作者信息

FLT_MAX是在float.h中定义的一个常量,用以表示单精度浮点数的最大值。

#define FLT_MAX 3.4028234663852886E+38F

那么这个值从何而来?

从浮点数的表示可以知道,要取最大值,可以将指数和尾数都设置为最大值,由于标准规定将指数全为1留做特殊表示,故指数最大值为255,这个数即

0 11111110 11111111111111111111111

符号位 指数 尾数

16进制整数看它的值就是 0x7f 7f ff ff

根据浮点数的计算公式可知这个值为:

1. 9999997615814208984375 * 2(254-127)

= 3.4028234663852886E+38

这个是计算器的计算结果。

1 参考资料

Vdsp(bf561)中的浮点运算(3):FLT_MIN(2008-12-19)

Vdsp(bf561)中的浮点运算(2):float的疑问(2008-12-18)

Vdsp(bf561)中的浮点运算(1):文档的说法(2008-12-16)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值