在线时间3 小时
UID374732
ST金币0
蝴蝶豆0
注册时间2009-5-11
初级会员
- 最后登录
- 2018-5-4
|
a0a.1 0b0c
新人请教一个关于运算结果数据类型以及存放问题
#define RES5 10 //R5电阻 默认10K
#define RES6 1 //R6电阻 默认1K
#define RES7 1 //R7电阻 默认1欧姆
unsigned int guiv_adc_current_data=0; //采集到的ADC电流数据
float gfv_current_data=0; //电流数据
上面是定义的变量类型
gfv_current_data=((0-(((RES5+RES6)*(luiv_current_data_add/1024)-(5*RES6))/RES5))/RES7)*1000;
这样一个计算公式 像(luiv_current_data_add/1024)运算的结果是整形的还是浮点的
是不是在前面加上(float)(luiv_current_data_add/1024)这样子的结果才是浮点呢 结果是放在RAM中的寄存器中还是luiv_current_data_add这个寄存器呢
是不是一定要这样写才能保证计算过程中的小数都算进去了
gfv_current_data=((float)( (0- ( float)( (float) ( (float) ((RES5+RES6)* (float) (luiv_current_data_add/1024)) -(5*RES6) )/RES5 ) )) )/RES7) *1000; |
|