float ADToPressure(unsigned int AD)
{
float pressure=0;
unsigned int tmp=0;
pressure= (((5*(float)AD)/1023-0.88)*1.2)/3.52; //压力量程4mA~20mA对应0~1.2MPa
tmp= (unsigned int)((pressure+0.005)*100); //扩大100倍,保留两位小数
pressure=(float)tmp/100;
return pressure;
}
上面这个方法在avr单片机里面可以得到干净的小数点后2位有小数字的浮点数,可是在pic单片机得不到,观察后面总是不干净,例如1.20得到的像是1.20001221这样的,怎么得到干净的2位有效浮点数?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
不要拘泥于AVR和PIC,这只是表面现象
一周热门 更多>