Vdsp(bf561)中的浮点运算(3):FLT_MIN

本文详细解释了FLT_MIN常量的定义及来源,通过分析浮点数表示方式得出FLT_MIN的具体数值,并给出了相应的16进制表示。适用于学习了解单精度浮点数最小值的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

快乐虾

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

lights@hb165.com

本文适用于

ADI BF561 DSP

优视BF561EVB开发板

Visual DSP++ 5.0 (update 5)

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

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

#define FLT_MIN 1.1754943508222875E<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><chmetcnv w:st="on" tcsc="0" numbertype="1" negative="True" hasspace="False" sourcevalue="38" unitname="F">-38F</chmetcnv>

那么这个值从何而来?

从浮点数的表示可以知道,尾数必然是大于等于1的,要取最小值,只能将指数设置为最小值,由于浮点数规定将指数为0的情况表示特殊的浮点数,因此指数只能取1,即

0 00000001 00000000000000000000000

符号位 指数 尾数

16进制整数看它的值就是 0x00 80 00 00

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

1.0 * 2-126

= 1.1754943508222875079687365372222e-38

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

参考资料

Vdsp(bf561)中的浮点运算(1):文档的说法(<chsdate w:st="on" year="2008" month="12" day="16" islunardate="False" isrocdate="False">2008-12-16</chsdate>)

Vdsp(bf561)中的浮点运算(2):float的疑问(<chsdate w:st="on" year="2008" month="12" day="18" islunardate="False" isrocdate="False">2008-12-18</chsdate>)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值