新人请教一个关于运算结果数据类型以及存放问题 #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; |