打印
[PIC®/AVR®/dsPIC®产品]

请教 有关PIC18 浮点误差

[复制链接]
899|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cr315|  楼主 | 2025-4-11 18:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教 有关PIC18 浮点误差最近用PICC 9.66 ,
  设为  long  double  xx
         u32   yy;
           xx=0.12345678;
          xx*=100000000;
         yy=(u32) xx;

   然后 显示yy  ,发现等于  12345732  ,与原来的数有 百万分之 3的误差,请问 这是为何呢?  编译中 已用32bit的浮点

使用特权

评论回复
沙发
暖心小太阳| | 2025-4-11 20:41 | 只看该作者
是不是浮点数的表示范围超出了32位浮点数的精度范围

使用特权

评论回复
板凳
幻想收藏家| | 2025-4-11 22:31 | 只看该作者
在浮点数转整数时,可能会因为四舍五入或者截断导致误差

使用特权

评论回复
地板
复古留声机| | 2025-4-12 08:56 | 只看该作者
浮点数运算本身就有精度问题

使用特权

评论回复
5
逆鳞风暴| | 2025-4-12 16:42 | 只看该作者
可以尝试在其他硬件平台上运行相同的代码看看结果是否一致

使用特权

评论回复
6
不想起床喵星人| | 2025-4-12 23:31 | 只看该作者
可以尝试用更高精度的数据类型来存储中间结果

使用特权

评论回复
7
lcczg| | 2025-4-16 15:27 | 只看该作者
yy也定义成浮点吧,类型一致。然后结果如何?

使用特权

评论回复
8
玛尼玛尼哄| | 2025-4-17 18:04 | 只看该作者
你这四舍五入了?应该向高精度的强制转换。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1392

主题

4448

帖子

0

粉丝