智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 768|回复: 1
打印 上一主题 下一主题

数据交越失真

[复制链接]

11

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2311
威望
1210
贡献
743
兑换币
775
注册时间
2013-8-11
在线时间
179 小时
跳转到指定楼层
1#
发表于 2015-1-24 14:24:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原始数据是val int16类型的用一个int32 的temp 加四次val    下一次用新的 New_vla 除四 清 temp 循环 就是这样

int8 i;

i++;if(i==5)i=0;

if(i<4)
{
   temp+=val;
}else
{
  newval=temp/4;temp=0;
}
结果 new_val 大致正常 接近0的时候凌乱了。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

11

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2311
威望
1210
贡献
743
兑换币
775
注册时间
2013-8-11
在线时间
179 小时
2#
 楼主| 发表于 2015-1-24 15:46:03 | 只看该作者
解决了,数据类型的使用按照严格按照要求,不仅要防止溢出必须让程序员和编译器都要清楚数据的符号位在哪范围多大。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2025-2-25 00:36 , Processed in 0.084552 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表