6

C++20 引入了标准库头文件<numbers>,在命名空间中定义std::numbers了数学常量,例如sqrt2sqrt3。它提供相反的值,例如inv_sqrt3,但不是inv_sqrt2。为什么inv_sqrt2失踪?

4

1 回答 1

8

为什么inv_sqrt2失踪?

该库在类型允许的范围内精确地定义了一组最小的常用常量。在不引入舍入误差的情况下表示 (√3) -1inv_sqrt3可能很棘手,因此. 但是,(√2) -1可以很容易地表示为:sqrt2 / 2,因此inv_sqrt2没有定义。

于 2020-05-19T21:13:17.277 回答