关于CH32V系列MCU浮点打印使用配置差异

发布时间 2023-10-24 16:46:44作者: ZaiLi

当程序中需要打印浮点数时,按照下图配置任意勾选一个即可打印浮点数:

 

当勾选第一个时,float打印会输出正确数值,具体如下:

 

当勾选第二个时,float打印输出数值如下(5.20会输出5.19),具体如下。

 

此时若需要输出正确数值5.20,将float类型改为double类型即可

 

产生该现象的原因:float表示单精度类型(表示带有小数的实数时有不连续和不精确的特点),无法得到5.2这个数值。 float所能表示的小数是跳跃的,这些小数也必须能写成2的n次幂相加才可以,比如0.5、0.25、0.125…以及这些数字的和。若想得到精确的数值,可将float类型改成double类型即可。