用浮点对模拟双精度算术
在数值能力有限的嵌入式系统中,模拟双精度数据类型变得有必要某些算法。本文探讨了使用两个“浮点”值的元组来模拟“双精度”数据类型的技术,以提高精度。
两个模拟双精度值之间的比较操作遵循简单的字典顺序。然而,由于需要检测进位,加法操作带来了挑战。根本问题是,此操作应使用哪个基数?虽然 FLT_MAX 可能是一个潜在的候选者,但它需要进一步考虑。
模拟加法
为了模拟加法,我们不仅需要考虑单个组件的加法,还需要考虑加法。还有结转的潜力。用于操作的基数应提供足够的分辨率来捕获所有可能的进位。
一种方法是使用浮点数据类型 FLT_MAX 和 -FLT_MAX 的两个边界之和作为基数。这确保了添加低成分时产生的任何进位都会被计入高成分的添加中。
检测进位
检测进位- outs 需要在添加各个组件期间监视上溢或下溢状态。如果在添加低位成分时发生溢出,则指示进位,并应将其添加到高位成分中。同样,低位分量减法中的下溢会触发进位,可以用相同的方式处理。
进一步研究的资源
其他见解可以从双浮法技术领域的研究中获得。两篇值得注意的论文是:
这些资源提供了有关实现 float-float 运算符和优化其性能的宝贵信息。
以上是使用浮点对模拟双精度加法的最佳基础是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!