请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何判断一个浮点数的有效性

[复制链接]
shenxiaolin_mai 发布时间:2019-1-5 16:19
9 F# F9 k- w& J2 A& O  N3 Y" O
最近项目上有需要将浮点数存放在Flash中,每次取出来之后需要对数据进行判断,所以这就需要用到一个函数,int fpclassify(x)
* R( R8 }: ]+ X& v$ ]在这里需要映入头文件“math.h”3 _- J% l2 k9 L+ ~$ D0 q
返回值一共5个
/ Z" j; o) m8 d& [
) Y: j  o. T- h  u: w) RFP_NAN:x是一个“not a number”。4 K4 _3 H1 o9 n6 g3 H2 h: q
FP_INFINITE: x是正、负无穷。
/ t# f: A1 m2 f. D/ K3 YFP_ZERO: x是0。8 @7 s3 ]7 c' b
FP_SUBNORMAL: x太小,以至于不能用浮点数的规格化形式表示。
1 G* P; p1 C/ L" {, ^7 b  q9 L, @FP_NORMAL: x是一个正常的浮点数(不是以上结果中的任何一种)。  \! t3 E- O7 j7 v0 m7 c7 C
1 G& E; s4 ]5 l, u

! f0 \* [1 [1 {: n$ r6 c/ t+ a, w% c# S7 U
所以可以通过这个来判断从Flash里面读取出来的数据否正确或者判断写入的数据是否正确。
: X; Q/ q/ J6 G5 [6 G, Y3 _9 }% n' f0 s
更加详细的解释请参考下面的链接,用到的时候才知道还有很多要学。
3 A  E3 C- t: a! R7 G$ Z! P" Ahttp://blog.csdn.net/dldw8816/article/details/53182996
5 k7 j$ G' C) o  i; i" h% h: g
  u4 c% z' y) t- Q# M; y# T5 c' l% `3 ]' h7 J
收藏 评论4 发布时间:2019-1-5 16:19

举报

4个回答
STMCU-管管 回答时间:2019-1-22 13:32:52
谢谢分享
shenxiaolin_mai 回答时间:2019-1-22 15:09:00
STMCU 发表于 2019-1-22 13:32
0 m/ M) k& D8 I( B4 N) L9 S谢谢分享
8 S$ r5 q, j% N2 r
用到了就知道了,哈哈
STM1024 回答时间:2019-1-22 16:17:00
虽然研究了很久IEEE754,可佩服这个优雅的设计,但是总的结论还是:对浮点数能不使用就不使用
shenxiaolin_mai 回答时间:2019-1-22 17:23:57
stm1024 发表于 2019-1-22 16:17+ E. Z6 S+ S. q. |% q$ z
虽然研究了很久IEEE754,可佩服这个优雅的设计,但是总的结论还是:对浮点数能不使用就不使用 ...
$ B3 F. K# `$ J2 \
对于浮点来说,直接用单片机直接转换就好了,其实个人觉得浮点的优势还是有的,不过和你说的一样,没事最好不要用浮点,754的标准真的看不懂,哈哈哈

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版