标题:新人求解。数据处理问题
只看楼主
zhw409998126
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-7-14
结帖率:0
已结贴  问题点数:10 回复次数:3 
新人求解。数据处理问题
p1 = a * A / (a - A);
p2 = b * B / (b - B);
p3 = c * C / (c - C);
x4 = (p1 * x1 + p2 * x2 + p3 * x3) / (p1 + p2 + p3);
y4 = (p1 * y1 + p2 * y2 + p3 * y3) / (p1 + p2 + p3);
计算过程中,从监视里看
p1 = 0 p3=0 p2 = 0.00000000000000012246063538223773
p1 * x1 + p2 * x2 + p3 * x3 = 0.00000000000000012246063538223773
导致结果x4 = 1 而事实x4 = 0 。请问该如何解决这个问题?

这些变量都是double型的
搜索更多相关主题的帖子: double 如何 
2012-07-14 23:04
zhw409998126
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-7-14
得分:0 
如何让这些微小量等于0?
2012-07-14 23:15
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:10 
你知道如何比较float是否等于零吗?
去看看C或者C++或者C#的任何一本书讲float变量这章
或者去网上搜一下float与零值比较的答案

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2012-07-15 07:15
zhw409998126
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-7-14
得分:0 
回复 3楼 peach5460
嗯,知道了。float表示的精度范围有限,需要用一个极小的区间比较~谢谢啦
2012-07-15 09:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-373411-1-1.html




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

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