songsong 发表于 2023-12-1 16:58:33

keill里整形转字符型

pid.sv是float的我想pid.sv为啥转换过来不是45.1呢,有点想不通:L

eric2013 发表于 2023-12-1 18:59:06

浮点的表达式决定的,无法像整数那样1对1.

因为如此,所以浮点数式有精度的,单精度浮点精度是小数点后7位,双精度浮点精度是小数点15位。

不过你这个编译器一般可以正常求出45.1,有时候会是你展示的那样,两种都不影响,比如我这里H7的双精度计算的是45.1


songsong 发表于 2023-12-3 23:02:35

eric2013 发表于 2023-12-1 18:59
浮点的表达式决定的,无法像整数那样1对1.

因为如此,所以浮点数式有精度的,单精度浮点精度是小数点后7 ...

回复一下,今天试了一下 双精度的是可以计算出45.1的,单精度的貌似就是不行

mygod 发表于 2024-4-23 11:18:36

曾经我也以为双精度正常表示某些数,但是也会有误差,具体是哪个数忘记了,下面举个例说明,
要设置电压 12.345,如果不处理精度偏差会成12.344
页: [1]
查看完整版本: keill里整形转字符型