首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

数据乱值有关问题

2013-01-28 
数据乱值问题?已知两个点:(x0,y0),(x1,y1)画一直线,还有一个以点(a0,b0)为圆心,r为半径的圆,现在知道两个

数据乱值问题?
已知两个点:(x0,y0),(x1,y1)画一直线,
还有一个以点(a0,b0)为圆心,r为半径的圆,
现在知道两个点到圆心的距离,一个大于r,一个小于r。(保证直线与圆有两个交点)
现在编程序运行,一般的点值都能运算出来,基本正确

只是当两个点x0与x1值相当接近时(接近垂直,但不是垂直),在计算时出现double值计算错误,甚至有b2-4ac小于0的情况(这是不可能的,因为两点到圆心距离是一长一短!),知道是运算时x0和x1太接近,做分母产生巨大数据,引起的计算失误,有哪位大侠给分析一下,如何解决?
[解决办法]
用int型进行长整数运算;如果非要用double的话,就保留两位有效数字吧

热点排行