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

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

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

( v& {- X; _$ }/ {( N# P# p/ v: A最近项目上有需要将浮点数存放在Flash中,每次取出来之后需要对数据进行判断,所以这就需要用到一个函数,int fpclassify(x)
5 Z! C* Y% M" s. e在这里需要映入头文件“math.h”
  N1 j7 B" H* Y$ i返回值一共5个
2 b' q# n9 f; `6 }0 T
* R$ J' x' s/ N: V2 V" H2 R/ Z1 EFP_NAN:x是一个“not a number”。
8 G1 a* C. X7 O2 j% s* ~# z2 k( yFP_INFINITE: x是正、负无穷。
$ g% g+ A9 O3 p4 ?3 [% V0 CFP_ZERO: x是0。7 {4 I, W  |9 S  T, {( j
FP_SUBNORMAL: x太小,以至于不能用浮点数的规格化形式表示。4 }0 g/ v7 h' [& h2 ?$ o3 O0 j
FP_NORMAL: x是一个正常的浮点数(不是以上结果中的任何一种)。
8 R* d$ n2 x. w" {
" f3 H3 ?5 z9 t, K3 s( d% c
' H: I; Q1 _; j, R# P. w1 F/ w) i( @0 l% D8 p
所以可以通过这个来判断从Flash里面读取出来的数据否正确或者判断写入的数据是否正确。+ e% M2 E& z, s/ o& Y" F
1 f2 @" E+ [; `2 q
更加详细的解释请参考下面的链接,用到的时候才知道还有很多要学。( m& |1 ~1 H4 ?, b& r/ R' c
http://blog.csdn.net/dldw8816/article/details/531829961 N" d3 w2 P* J9 R$ y3 e7 N
/ m4 j5 {3 \$ E% p% i5 n; k; `
0 X6 S% q) W7 e' k5 |
赞 收藏 评论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
5 e6 k" [# E; I0 S. V, A谢谢分享
4 j3 r0 a/ b0 b' ?! P* Z
用到了就知道了,哈哈
STM1024 回答时间:2019-1-22 16:17:00
虽然研究了很久IEEE754,可佩服这个优雅的设计,但是总的结论还是:对浮点数能不使用就不使用
shenxiaolin_mai 回答时间:2019-1-22 17:23:57
stm1024 发表于 2019-1-22 16:17! a6 n' B% L" R. r2 E
虽然研究了很久IEEE754,可佩服这个优雅的设计,但是总的结论还是:对浮点数能不使用就不使用 ...

: t" G# g9 f$ O# i- R- x8 ?对于浮点来说,直接用单片机直接转换就好了,其实个人觉得浮点的优势还是有的,不过和你说的一样,没事最好不要用浮点,754的标准真的看不懂,哈哈哈
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版