| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 462 人关注过本帖
标题:数据补偿问题
只看楼主 加入收藏
twp90
Rank: 2
等 级:论坛游民
帖 子:26
专家分:14
注 册:2008-11-27
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
数据补偿问题
想请问各位C高手,如何对丢失的数据补偿
问题是这样子的。unsigned int X,Y。
                X*11.2 = Y,如果你已知X,可以得到Y,再根据得到的Y值求X,要求得到的X值和上次的X值一样,反正运算,使得X和Y的值不变化。
换句话说就是因为数据类型的原因每次运算会有数据丢失,如何能补偿这种丢失。
搜索更多相关主题的帖子: 数据 
2010-08-21 09:38
丢了幸福
Rank: 2
等 级:论坛游民
帖 子:44
专家分:10
注 册:2010-7-24
收藏
得分:3 
路过!帮顶一下!
2010-08-21 09:50
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:3 
X和Y定义成double

迭代的是人,递归的是神。
2010-08-21 10:32
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:3 
回复 楼主 twp90
即使是double类型 经过一次转换后跟原数也是不一样的 也就是说 两次计算都有误差 计算两次后误差会累积而不会消失
就像 1.0/3*3  与 1.0 比较不会得到相等的结果 是一样的

[ 本帖最后由 jack10141 于 2010-8-21 10:39 编辑 ]

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-21 10:38
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:3 
那就避免产生小数,御坂御坂提议说

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-21 10:42
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:0 
那就把运算中的数放大成整数,求出结果后再弄回浮点数的。我还记得银行不是有一种什么的,用四个位表示一个阿拉伯数字的东东,那个应该没有精度损失。

迭代的是人,递归的是神。
2010-08-21 10:46
快速回复:数据补偿问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020584 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved