【问题标题】:Lag with very small floating point numbers?非常小的浮点数滞后?
【发布时间】:2013-08-26 19:05:10
【问题描述】:

所以,我用 XNA 做了一个简单的流体动力学模拟,我得到了非常准确的波状行为。但是当波变得越来越小,并且在某个点达到 -4.0E-43 或更小的幅度时,应用程序开始严重滞后。 c# 是否切换到一些愚蠢的舍入算法或其他东西?我没有观察到任何 NaN,也没有任何异常。哦,模拟循环在单独的线程中运行。

【问题讨论】:

    标签: performance floating-point numbers lag


    【解决方案1】:

    C# 不是这里的罪魁祸首。 Denormal numbers 是。

    这些是大小在 0 和 2-126 (1.175494351e-38) 之间的数字,它们不以标准(或“正常”)浮点格式存储。实际上,它们实际上存储为乘数为 2-149 的定点数。

    因为它们很少见并且需要不同的算法,所以涉及非正规数的运算不会优化到与正常运算相同的程度,如果有的话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-22
      • 2017-01-04
      • 2014-03-19
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多