【发布时间】:2012-08-08 20:04:51
【问题描述】:
我想计算一条线的斜率。
public sealed class Point
{
public System.Numerics.BigInteger x = 0;
public System.Numerics.BigInteger y = 0;
public double CalculateSlope (Point point)
{
return ((point.Y - this.Y) / (point.X - this.X));
}
}
我知道 BigInteger 有一个 DivRem 函数,它返回除法结果加上余数,但不知道如何应用它来获得双精度数。我正在处理的数字远远超出 Int64.MaxValue 的范围,因此余数本身可能超出常规除法计算的范围。
编辑: 不确定它是否有帮助,但我只处理正整数 (>=1)。
重要提示:我只需要几个小数点的精度(5 应该足以满足我的目的)。
【问题讨论】:
-
你需要它有多精确?
-
你正在处理的数字是什么......请显示数字的性质
-
@AustinSalonen:精度越高越好,但即使是几个十进制数字也足以达到我想要的位置。
-
@DJKRAZE:我正在处理数以百万计的基数为 10 位的数字。
-
也许这会有所帮助? stackoverflow.com/a/11859314/310001
标签: c# .net biginteger division