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

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

[复制链接]
shenxiaolin_mai 发布时间:2019-1-5 16:19
9 [  v2 \7 n' A$ n
最近项目上有需要将浮点数存放在Flash中,每次取出来之后需要对数据进行判断,所以这就需要用到一个函数,int fpclassify(x)
6 X; j% R# `  C7 h在这里需要映入头文件“math.h”+ k: w: b5 \3 U( ?, e4 h8 G0 k
返回值一共5个
9 U: W4 Z; t. a4 u
+ M: B- W  Z) E8 G. ?; M- ~FP_NAN:x是一个“not a number”。, m! k4 ?( m9 j" ]
FP_INFINITE: x是正、负无穷。( u6 F4 K; R1 X0 P, D( g
FP_ZERO: x是0。
) l. l4 u. t' ^& zFP_SUBNORMAL: x太小,以至于不能用浮点数的规格化形式表示。! G: z# K- V1 p4 C2 A' G7 Q, ]% q
FP_NORMAL: x是一个正常的浮点数(不是以上结果中的任何一种)。
% B* |' ^8 G# z" s  ]# b2 i+ h9 u" S+ o
( g. y8 i, y7 _4 z5 m+ N* f
: p; w( R, Q6 ]% C" G2 L9 R
所以可以通过这个来判断从Flash里面读取出来的数据否正确或者判断写入的数据是否正确。+ [7 a) n) u' _4 W( N; B# c

+ e& \" x; [( a6 n更加详细的解释请参考下面的链接,用到的时候才知道还有很多要学。
& g3 d  @! o' xhttp://blog.csdn.net/dldw8816/article/details/53182996" K7 y, l7 O5 H5 O2 p

7 a! L3 u( [  [- Z
  J3 C5 O  f- @
收藏 评论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
. F$ K5 W! m9 o  C7 k4 P谢谢分享
* z$ B. u1 @1 p) K1 B
用到了就知道了,哈哈
STM1024 回答时间:2019-1-22 16:17:00
虽然研究了很久IEEE754,可佩服这个优雅的设计,但是总的结论还是:对浮点数能不使用就不使用
shenxiaolin_mai 回答时间:2019-1-22 17:23:57
stm1024 发表于 2019-1-22 16:17
3 l& j6 U* c, Q* m虽然研究了很久IEEE754,可佩服这个优雅的设计,但是总的结论还是:对浮点数能不使用就不使用 ...
3 l' T5 g4 k& G' W! M% t2 U
对于浮点来说,直接用单片机直接转换就好了,其实个人觉得浮点的优势还是有的,不过和你说的一样,没事最好不要用浮点,754的标准真的看不懂,哈哈哈

所属标签

相似分享

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