(评论)
(comments)
原始链接: https://news.ycombinator.com/item?id=39683455
这些编程语言在浮点精度方面提供了更大的控制和灵活性,允许用户指定所需的精度级别,而不是仅仅依赖于预定的机器参数。 在某些情况下,这可以显着提高科学和数学应用中的准确性和性能。 例如,Calc 允许通过命令行选项或变量赋值语法指定小数精度。 另外,bc -l(代表 Bash Calculator)是一个 Unix shell 脚本实用程序,主要用于执行基本的数学任务。 它提供了扩展的数字上下文,包括小数和任意大小的整数,并具有可选的库兼容性 (libbc),以在 Bash 脚本中提供 BC 功能。 同样,Awk 包含高级字符串操作功能,可促进更复杂的处理,并与 NumLib 捆绑在一起,NumLib 是一个数学库扩展包,它向 awk 添加了大量数学库,以提高科学和数学计算的准确性和灵活性。 These capabilities enable developers to tailor their programming environments according to their needs, providing greater control over precision and other relevant factors based on application requirements.
关于浮点表示,它取决于所使用的体系结构以及它内部如何处理浮点数。 然而,有限表示的问题通常表现在涉及高度重复和/或高度敏感计算的应用中,其中由不足的位深度引起的微小错误累积并导致显着的不准确性,从而导致结果不可用或具有误导性。 因此,选择具有足够浮点容量和精度的适当编程环境来满足特定用例的需求有助于减少潜在错误并提高所涉及计算的整体可靠性和有效性。 此外,采用诸如尽可能避免除法、标准化输入、缩放输出、减少中间值以及应用其他类似技术等策略可以帮助进一步最小化与以数字形式表示浮点数相关的潜在错误。 Overall, improving the handling of floating point representations involves a combination of careful consideration of underlying architectural constraints, strategic use of tools and technologies, and application of established best practices to ensure optimal outcomes in most scenarios.
关于 FractInt 的准确性和效率,这款标志性的分形生成器软件提供了多种方法来减轻由于不精确的数值计算而产生的错误。 首先,FractInt 利用了这样一个事实,即迭代计算往往在初始化后相对较快地收敛到稳定吸引子,这意味着远离吸引子的计算值会继续
[1] https://github.com/ProfJski/FloatCompMandelbrot/blob/master/... [2] https://pharr.org/matt/blog/2019/11/03/difference-of-floats
reply