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

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

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

: A6 g; T; w! [最近项目上有需要将浮点数存放在Flash中,每次取出来之后需要对数据进行判断,所以这就需要用到一个函数,int fpclassify(x)# Y2 c9 t! `2 [! {4 ^
在这里需要映入头文件“math.h”) f) i' R( J+ i2 k9 ~
返回值一共5个* u. ~: q/ K7 R& L/ {$ G

% K, N$ z& r; i! E6 C! }& q6 H& OFP_NAN:x是一个“not a number”。
: ~. Z9 N+ O  Q2 s& |* e( U. KFP_INFINITE: x是正、负无穷。
1 {3 H. k  x$ ~FP_ZERO: x是0。
4 j) R% j  y' {9 V' k+ sFP_SUBNORMAL: x太小,以至于不能用浮点数的规格化形式表示。
6 w8 v7 m# Q! b7 X& bFP_NORMAL: x是一个正常的浮点数(不是以上结果中的任何一种)。
3 r/ k" _  \  F/ x1 z7 v2 Y
* q$ q' D$ f+ e6 O
; O. n. A* q( q+ I5 [' O+ Q. s- r0 U0 ~
) O6 v3 @, n# c8 ]7 e4 ?8 O所以可以通过这个来判断从Flash里面读取出来的数据否正确或者判断写入的数据是否正确。) Y9 _9 T+ G) Q. }) ]8 {$ |
0 \" D0 @6 c) d' @* O7 B
更加详细的解释请参考下面的链接,用到的时候才知道还有很多要学。' w6 v& W! a6 Q0 K1 f$ g
http://blog.csdn.net/dldw8816/article/details/53182996
+ k' v6 M5 t: _' T! l2 _: u0 X
) g  K2 u) b8 m3 ?" U* W
* O; }' s. N$ H- s
收藏 评论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:329 v5 z9 T6 E4 ]  c
谢谢分享
5 V! l  t& m; U! ~
用到了就知道了,哈哈
STM1024 回答时间:2019-1-22 16:17:00
虽然研究了很久IEEE754,可佩服这个优雅的设计,但是总的结论还是:对浮点数能不使用就不使用
shenxiaolin_mai 回答时间:2019-1-22 17:23:57
stm1024 发表于 2019-1-22 16:17* Y2 @4 @% E: Q( @. E0 J
虽然研究了很久IEEE754,可佩服这个优雅的设计,但是总的结论还是:对浮点数能不使用就不使用 ...
0 ]( m$ E2 Z3 r* ]* ^
对于浮点来说,直接用单片机直接转换就好了,其实个人觉得浮点的优势还是有的,不过和你说的一样,没事最好不要用浮点,754的标准真的看不懂,哈哈哈

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版