stm32f1对小数的处理

2019-03-23 17:47发布

一个奇异的现象
平台 :stm32f103c8t6
我把printf定向到了串口上,好能让信息打印到我的调试助手上,我有一个函数,return的值乘以了10倍,因为要考虑小数点后一位,后来想着再调试助手上打印出实际的值,所以需要打印小数了,于是乎就直接使用%3.1f的格式
举个例子
    int Iu_num = 245;
    printf( "%d ",Iu_num );  // 得到的是245
    printf( "%3.1f ",(float)Iu_num/10 );  // 得到的是00.0
这是为什么?

还有一个问题,是我不经意间想到的,stm32F1该如何处理小数点,不是简简单单的小数点,要保留后5位小数,而且还能与其他式子做运算
   比如:  y= a*b;其中a=0.00134,b=9.2;要得出准确的y值!  
   给个链接,或者帮着说明一下,我E金币还有一些,可以给你10个E金币作为报答。  好了 我去试试直接用float或者duble型去做下运算,我还没检验一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。