当我划分dy / dx时,它返回lnf。请告诉我这是什么意思,以及如何找到dy / dx的实际结果。感谢。
答案 0 :(得分:5)
当除以零(或足够小的数字)时,无法用浮点表示法表示结果。在这种情况下,你得到一个无穷大(+ Inf或-Inf)。
例如,如果您已经拥有IEEE754双倍表示的最大数字,并将其除以0.1(即乘以10),您将获得+ Inf。
IEEE754将一些位模式分配给特殊值,如+/-无穷大和NaN(非数字)。
我很久以前就停止尝试在计算机上将线条表示为(渐变,y-交叉)对(因为你可以用你头脑中的无穷大来计算它在纸上是可以的)。你可以通过简单地将线条表示为(x1,y1,x2,y2)4元组来避免所有无穷无尽的麻烦 - 如果你用这种方式表示你的线段,你会发现所有渐变都能很好地工作的算法。
否则,在计算渐变时,您将始终需要对导致溢出的近垂直线进行特殊处理。
答案 1 :(得分:1)
Inf = Infinity。你得到这个,因为dx是0,因此你除以0.这可能是有效的 - 例如垂直线。
在计算斜率之前检查以确保dx具有您想要的值。