我需要从一系列其他计算的结果中得到反余弦和反正弦。如果我的输入值在-1到1的范围之外,则acosfasinf返回nan,这是给定函数定义的预期值。
如何调整该值,使其在可接受的范围内,但仍然给出正确的答案?在我用来检查我的计算的电子表格中,这种正常化是在幕后发生的,所以nan不会返回。
我想我需要做一些事情,比如,对于acosf,添加cos(pi),直到值落在范围内,但是我想得到一些确认或建议。

最佳答案

没有标准化过程。如果答案在[-1,+1]之外,则前面的计算被破坏。
一个例外是,如果浮点不精确导致1.00001这样的值。在这种情况下,将输入限制在有效范围内可能是安全的。

10-06 14:29