<QtMath> - 通用数学函数
<QtMath> 头文件提供了各种数学函数。 更多...
头文件 | #include <QtMath> |
函数
auto | qAcos(T v) |
auto | qAsin(T v) |
auto | qAtan2(T1 y, T2 x) |
auto | qAtan(T v) |
int | qCeil(T v) |
auto | qCos(T v) |
float | qDegreesToRadians(float degrees) |
double | qDegreesToRadians(double degrees) |
(since 6.0) long double | qDegreesToRadians(long double degrees) |
auto | qExp(T v) |
auto | qFabs(T v) |
int | qFloor(T v) |
(since 6.1) auto | qHypot(Tx x, Ty y) |
(since 6.1) auto | qHypot(Tx x, Ty y, Tz z) |
(since 6.1) auto | qHypot(F first, Fs... rest) |
auto | qLn(T v) |
quint32 | qNextPowerOfTwo(quint32 value) |
quint32 | qNextPowerOfTwo(qint32 value) |
quint64 | qNextPowerOfTwo(quint64 value) |
quint64 | qNextPowerOfTwo(qint64 value) |
auto | qPow(T1 x, T2 y) |
float | qRadiansToDegrees(float radians) |
double | qRadiansToDegrees(double radians) |
(since 6.0) long double | qRadiansToDegrees(long double radians) |
auto | qSin(T v) |
auto | qSqrt(T v) |
auto | qTan(T v) |
详细说明
这些函数部分是为了方便定义基本运算而创建的,这些运算在 C 或标准模板库中不可用。
此外,头文件还确保了一些在 POSIX 中指定但不在 C++ 标准中定义(因此在某些平台的 <math.h> 中不存在)的常量被定义
常量 | 描述 |
---|---|
M_E | 自然对数的底数,e = exp(1) |
M_LOG2E | e 的以 2 为底的对数 |
M_LOG10E | e 的以 10 为底的对数 |
M_LN2 | 2 的自然对数 |
M_LN10 | 10 的自然对数 |
M_PI | 圆周与直径的比,π |
M_PI_2 | M_PI 的一半,π / 2 |
M_PI_4 | M_PI 的四分之一,π / 4 |
M_1_PI | M_PI的倒数,1 / π |
M_2_PI | M_PI的两倍,2 / π |
M_2_SQRTPI | π的平方根的两倍,2 / √π |
M_SQRT2 | 二的平方根,√2 |
M_SQRT1_2 | 半的平方根,1 / √2 |
函数文档
template <typename T> auto qAcos(T v)
返回 v 的反余弦值作为弧度值。反余弦是余弦的逆运算。
template <typename T> auto qAsin(T v)
返回 v 的反正弦值作为弧度值。反正弦是正弦的逆运算。
template <typename T1, typename T2> auto qAtan2(T1 y, T2 x)
返回由坐标y和x指定的点的反正切值。此函数将返回该点的角度(参数)。
template <typename T> auto qAtan(T v)
返回 v 的反正切值作为弧度值。反正切是正切的逆运算。
template <typename T> int qCeil(T v)
返回值v的天花板。
天花板是不小于v的最小整数。例如,如果v是41.2,则天花板是42。
另请参阅qFloor。
template <typename T> auto qCos(T v)
返回以弧度为单位的角v的余弦值。
[constexpr]
float qDegreesToRadians(float degrees)
此函数将浮点数degrees转换为弧度。
示例
float degrees = 180.0f float radians = qDegreesToRadians(degrees)
另请参阅qRadiansToDegrees。
[constexpr]
double qDegreesToRadians(double degrees)
此函数将双精度浮点数degrees转换为弧度。
示例
double degrees = 180.0 double radians = qDegreesToRadians(degrees)
另请参阅qRadiansToDegrees。
[constexpr, since 6.0]
long double qDegreesToRadians(long double degrees)
此函数将双精度浮点数degrees转换为弧度。
此函数是在Qt 6.0中引入的。
另请参阅qRadiansToDegrees。
template <typename T> auto qExp(T v)
返回e的指数函数,其幂为 v.
另请参阅qLn().
auto qFabs(T v)
返回 v的绝对值。
int qFloor(T v)
返回值 v的整数部分。
整数部分是小于或等于 v的最大整数。例如,如果 v是41.2,则整数部分是41。
另请参阅qCeil().
[since 6.1]
auto qHypot(Tx x, Ty y)
这是一个重载函数。
返回原点(0, 0)到点( x, y)的距离。
这是qSqrt(x * x + y * y),优化版。特别是,可以避免下溢和溢出。
接受任何类型的数字混合,返回与std::hypot()相同的浮点类型。如果任一参数是无穷大,则结果也是如此;否则,如果任一是NaN,则结果也是如此。
该函数在Qt 6.1中引入。
[since 6.1]
auto qHypot(Tx x, Ty y, Tz z)
这是一个重载函数。
返回(x,y,z)从原点(0,0,0)的距离。
这是qSqrt(x * x + y * y + z * z),支持优化。特别是,可以避免下溢和溢出。
接受任何类型的数字混合,返回与std::hypot()相同的浮点类型。如果有任何参数是无穷大,则结果是无穷大;否则,如果有任一是NaN,则结果是NaN。
该函数在Qt 6.1中引入。
另请参阅qSqrt().
[since 6.1]
auto qHypot(F first, Fs... rest)
返回原点在任意多个维度上的距离
这与两个参数和三个参数的形式类似,由std::hypot()支持,但你可以传递给它多少数字参数就使用多少。使用 first以及 rest中的每一个作为坐标,执行类似于对每个坐标进行平方、求和并返回平方根的计算,只是尽量避免下溢和溢出。
该函数在Qt 6.1中引入。
另请参阅qSqrt().
auto qLn(T v)
返回 v的自然对数。自然对数以e为底。
另请参阅qExp().
[constexpr]
quint32 qNextPowerOfTwo(quint32 value)
该函数返回大于 value的最接近的2的幂。对于0,它返回1,并且对于大于或等于2^31的值,结果是未定义的。
[ constexpr ]
quint32 qNextPowerOfTwo(qint32 value)
这是一个重载函数。
此函数返回大于 value 的最接近的2的幂。对于负数,结果未定义。
[ constexpr ]
quint64 qNextPowerOfTwo(quint64 value)
此函数返回大于 value 的最接近的2的幂。对于0,返回1,对于大于或等于2^63的值,结果未定义。
[ constexpr ]
quint64 qNextPowerOfTwo(qint64 value)
这是一个重载函数。
此函数返回大于 value 的最接近的2的幂。对于负数,结果未定义。
模板 <typename T1, typename T2> auto qPow(T1 x, T2 y)
返回 x 的 y 次幂的值。即 x 是底数,y 是指数。
另请参阅qSqrt().
[ constexpr ]
float qRadiansToDegrees(float radians)
此函数将 radians 中的浮点数值转换为度。
示例
float radians = float(M_PI) float degrees = qRadiansToDegrees(radians)
另请参阅qDegreesToRadians().
[ constexpr ]
double qRadiansToDegrees(double radians)
此函数将 radians 中的双精度数值转换为度。
示例
double radians = M_PI double degrees = qRadiansToDegrees(radians)
另请参阅qDegreesToRadians().
[ constexpr, since 6.0 ]
long double qRadiansToDegrees(long double radians)
此函数将 radians 中的双精度数值转换为度。
此函数是在Qt 6.0中引入的。
另请参阅qDegreesToRadians().
模板 <typename T> auto qSin(T v)
返回以弧度为单位的角 v 的正弦值。
模板 <typename T> auto qSqrt(T v)
返回 v 的平方根。当 v 为负数时,此函数返回 NaN。
模板 <typename T> auto qTan(T v)
返回以弧度为单位的角 v 的正切值。
© 2024 Qt公司有限公司。此处包含的文档贡献者是各自所有者的版权。此处提供的文档是根据自由软件基金会发布的 GNU自由文档许可版本 1.3 许可的。Qt和相应标志是芬兰和/或全球其他国家的 The Qt Company Ltd. 的 商标。所有其他商标均为各自所有者的财产。