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

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

[复制链接]
shenxiaolin_mai 发布时间:2019-1-5 16:19

4 j4 H/ L6 x" ~. }& C最近项目上有需要将浮点数存放在Flash中,每次取出来之后需要对数据进行判断,所以这就需要用到一个函数,int fpclassify(x)
" Q8 T. }) y2 u7 Q! B! ?! h在这里需要映入头文件“math.h”. B4 h' e$ V, U9 b
返回值一共5个$ ~7 _$ w6 r3 O2 j8 T5 |

" x# i' s, A( O, ]) ~3 jFP_NAN:x是一个“not a number”。
. O  W& o3 K# A5 V  @+ dFP_INFINITE: x是正、负无穷。* R- n7 X/ A! Y9 h( r# |- k
FP_ZERO: x是0。2 ?# e$ u7 [. q" X5 I: x! z/ F/ W
FP_SUBNORMAL: x太小,以至于不能用浮点数的规格化形式表示。
6 }: I9 b; h8 P4 {0 n1 ^  HFP_NORMAL: x是一个正常的浮点数(不是以上结果中的任何一种)。$ F: x" f; f% y
6 y2 M/ w4 v; Z9 Z7 X6 I
& u8 f/ P- u& M- W, @* K1 h

& x( n# R4 s* h9 o/ _所以可以通过这个来判断从Flash里面读取出来的数据否正确或者判断写入的数据是否正确。" k) ?0 M3 J& ]2 N

: r# j- k) z* c8 |. ?! a更加详细的解释请参考下面的链接,用到的时候才知道还有很多要学。
8 Q; S2 M& s* f  e4 W2 ^% f4 {4 Ahttp://blog.csdn.net/dldw8816/article/details/53182996
  `7 j1 h. M6 A8 _
4 q: M) W$ d0 ]* O: N8 J( u; c' E) |) D9 |/ U) n$ L5 n2 Q
收藏 评论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
/ j) A4 y$ K: r; z谢谢分享

7 J0 n" O$ a; w- [% r, ?1 {  ?9 G% C用到了就知道了,哈哈
STM1024 回答时间:2019-1-22 16:17:00
虽然研究了很久IEEE754,可佩服这个优雅的设计,但是总的结论还是:对浮点数能不使用就不使用
shenxiaolin_mai 回答时间:2019-1-22 17:23:57
stm1024 发表于 2019-1-22 16:17( W* @' e' {# m; k* `
虽然研究了很久IEEE754,可佩服这个优雅的设计,但是总的结论还是:对浮点数能不使用就不使用 ...

  }+ j" n1 P3 x9 o& {9 r* ], C对于浮点来说,直接用单片机直接转换就好了,其实个人觉得浮点的优势还是有的,不过和你说的一样,没事最好不要用浮点,754的标准真的看不懂,哈哈哈

所属标签

相似分享

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