找回密码
 注册
关于网站域名变更的通知
查看: 492|回复: 1
打印 上一主题 下一主题

大神大神:单片机的浮点的运算要怎么处理?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-9-9 09:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
请问exp()函数输入输出都是浮点数,计算的最终结果要一个整数。
3 [3 I' U9 E: B, ]请问要始何做才能得到正确的结果。下面的程序一得出的数值不正确。2 n( J: ~, q# y- t/ w9 R
公式在下图。
3 c. T" [: ]" S; V& N- P#include <math.h>
& }) _0 ~1 X: _0 h& i: J7 a#defind  FOSC/2/11059200
) k# I+ s$ A" [- n, ?& qunsigned int Int_value;/ h  C+ u1 g6 i! o8 V& I+ G
unsigned int Int_i;; ]4 F* W9 f2 z+ l" W! J: O$ y2 c  C
for((Int_i=0; Int_i < 1000; Int_i++)
; J7 j8 W7 [. P2 h7 w, x+ O/ F{
  v- F+ L# Z/ D* |; d/ o2 _- RInt_value=(unsigned int)(1600+(5304-1600)/(1+(exp(-5*(Int_i-500)/500)))
& }  A: D( h, S}
" `$ {* I- r+ Q7 G0 S) {) y4 A
* C  w; o. z9 W" o) i' G, J5 s# f3 N5 }% v, g1 T
/ q  \! |9 F/ q  E0 ?

. X/ N/ P2 F' b' }& ?: W5 ^# N7 @) W
! v( q: J5 `6 ^4 _& j
: U( t7 w+ s: \5 c. m$ P

该用户从未签到

2#
发表于 2021-9-9 10:25 | 只看该作者
) W) H1 U$ ~8 [8 c5 K; E2 P
Int_i的类型是无符号
+ `1 x9 L8 A: X5 o: b; yInt_i-500这一步会等于65536-500=65036
8 n; f( v9 c! i* l$ P% m
0 A3 \; ~* W! i3 E5 ~$ t应改作
: U; x1 d$ ^0 i" \$ GInt_value=(unsigned int)(1600+(5304-1600)/(1+(exp(-5*(((float)Int_i-500)/500)))));
! X4 `% \. u/ `, e4 h7 {+ c
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 18:16 , Processed in 0.156250 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表