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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
请问exp()函数输入输出都是浮点数,计算的最终结果要一个整数。
+ q+ H  f& A* a3 o# j* \请问要始何做才能得到正确的结果。下面的程序一得出的数值不正确。
' l. G1 o! u* \1 ~6 Z. c+ i公式在下图。
- d+ \  X$ m8 \  `#include <math.h>
% G9 s# Z/ a/ e+ B#defind  FOSC/2/11059200$ f; g+ w; ?) {
unsigned int Int_value;
6 \( {5 d. Z8 w3 t/ |6 Hunsigned int Int_i;; J! ~1 r: ~  r( x. T+ Z
for((Int_i=0; Int_i < 1000; Int_i++)
6 X! C3 z# w. T7 ?% h{
( K- u7 u$ p  ?7 Y; Q( AInt_value=(unsigned int)(1600+(5304-1600)/(1+(exp(-5*(Int_i-500)/500)))5 X' x) }. S/ f: D+ F$ F
}# ?; K, T- l4 k9 `+ x

4 p' ?% ~5 n1 G6 n: Z8 [2 {6 {5 M- H5 q" {  ^. c& r9 z0 |& ^
7 k+ y3 y0 T  \: D7 v
: [3 \# o$ F7 q! U
& j1 `, ^/ c6 D$ |0 k1 ?

3 }3 i, \$ P; t8 G9 V% ?

该用户从未签到

2#
发表于 2021-9-9 10:25 | 只看该作者
0 p8 {) o& n: T% g4 a7 k; V5 A
Int_i的类型是无符号
4 k; ]! e2 J+ H0 }- L' ^$ b. U: _Int_i-500这一步会等于65536-500=65036' s: {6 r1 @0 x( o* E/ G2 C
/ }6 A% }* j/ ~5 [: n5 O/ i
应改作
' e: f5 |) J% Q; T  A$ `" ~Int_value=(unsigned int)(1600+(5304-1600)/(1+(exp(-5*(((float)Int_i-500)/500)))));* L# k/ j( {5 P! v+ R8 q# S, C
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-20 14:36 , Processed in 0.140625 second(s), 26 queries , Gzip On.

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

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

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