<QtMath> - 通用数学函数

<QtMath> 头文件提供了各种数学函数。 更多...

头文件 #include <QtMath>

函数

autoqAcos(T v)
autoqAsin(T v)
autoqAtan2(T1 y, T2 x)
autoqAtan(T v)
intqCeil(T v)
autoqCos(T v)
floatqDegreesToRadians(float degrees)
doubleqDegreesToRadians(double degrees)
(since 6.0) long doubleqDegreesToRadians(long double degrees)
autoqExp(T v)
autoqFabs(T v)
intqFloor(T v)
(since 6.1) autoqHypot(Tx x, Ty y)
(since 6.1) autoqHypot(Tx x, Ty y, Tz z)
(since 6.1) autoqHypot(F first, Fs... rest)
autoqLn(T v)
quint32qNextPowerOfTwo(quint32 value)
quint32qNextPowerOfTwo(qint32 value)
quint64qNextPowerOfTwo(quint64 value)
quint64qNextPowerOfTwo(qint64 value)
autoqPow(T1 x, T2 y)
floatqRadiansToDegrees(float radians)
doubleqRadiansToDegrees(double radians)
(since 6.0) long doubleqRadiansToDegrees(long double radians)
autoqSin(T v)
autoqSqrt(T v)
autoqTan(T v)

详细说明

这些函数部分是为了方便定义基本运算而创建的,这些运算在 C 或标准模板库中不可用。

此外,头文件还确保了一些在 POSIX 中指定但不在 C++ 标准中定义(因此在某些平台的 <math.h> 中不存在)的常量被定义

常量描述
M_E自然对数的底数,e = exp(1)
M_LOG2Ee 的以 2 为底的对数
M_LOG10Ee 的以 10 为底的对数
M_LN22 的自然对数
M_LN1010 的自然对数
M_PI圆周与直径的比,π
M_PI_2M_PI 的一半,π / 2
M_PI_4M_PI 的四分之一,π / 4
M_1_PIM_PI的倒数,1 / π
M_2_PIM_PI的两倍,2 / π
M_2_SQRTPIπ的平方根的两倍,2 / √π
M_SQRT2二的平方根,√2
M_SQRT1_2半的平方根,1 / √2

函数文档

template <typename T> auto qAcos(T v)

返回 v 的反余弦值作为弧度值。反余弦是余弦的逆运算。

另请参阅qAtan(),qAsinqCos

template <typename T> auto qAsin(T v)

返回 v 的反正弦值作为弧度值。反正弦是正弦的逆运算。

另请参阅qSinqAtanqAcos

template <typename T1, typename T2> auto qAtan2(T1 y, T2 x)

返回由坐标yx指定的点的反正切值。此函数将返回该点的角度(参数)。

另请参阅qAtan()和qHypot

template <typename T> auto qAtan(T v)

返回 v 的反正切值作为弧度值。反正切是正切的逆运算。

另请参阅qTanqAcosqAsin

template <typename T> int qCeil(T v)

返回值v的天花板。

天花板是不小于v的最小整数。例如,如果v是41.2,则天花板是42。

另请参阅qFloor

template <typename T> auto qCos(T v)

返回以弧度为单位的角v的余弦值。

另请参阅qSinqTan

[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().

返回 v的绝对值。

返回值 v的整数部分。

整数部分是小于或等于 v的最大整数。例如,如果 v是41.2,则整数部分是41。

另请参阅qCeil().

[since 6.1]

这是一个重载函数。

返回原点(0, 0)到点( x, y)的距离。

这是qSqrt(x * x + y * y),优化版。特别是,可以避免下溢和溢出。

接受任何类型的数字混合,返回与std::hypot()相同的浮点类型。如果任一参数是无穷大,则结果也是如此;否则,如果任一是NaN,则结果也是如此。

该函数在Qt 6.1中引入。

另请参阅qSqrt()和qAtan2().

[since 6.1]

这是一个重载函数。

返回(x,y,z)从原点(0,0,0)的距离。

这是qSqrt(x * x + y * y + z * z),支持优化。特别是,可以避免下溢和溢出。

接受任何类型的数字混合,返回与std::hypot()相同的浮点类型。如果有任何参数是无穷大,则结果是无穷大;否则,如果有任一是NaN,则结果是NaN。

该函数在Qt 6.1中引入。

另请参阅qSqrt().

[since 6.1]

返回原点在任意多个维度上的距离

这与两个参数和三个参数的形式类似,由std::hypot()支持,但你可以传递给它多少数字参数就使用多少。使用 first以及 rest中的每一个作为坐标,执行类似于对每个坐标进行平方、求和并返回平方根的计算,只是尽量避免下溢和溢出。

该函数在Qt 6.1中引入。

另请参阅qSqrt().

返回 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)

返回 xy 次幂的值。即 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 的正弦值。

另请参阅qCos() 和 qTan().

模板 <typename T> auto qSqrt(T v)

返回 v 的平方根。当 v 为负数时,此函数返回 NaN。

另请参阅qPow() 和 qHypot().

模板 <typename T> auto qTan(T v)

返回以弧度为单位的角 v 的正切值。

另请参阅qSin() 和 qCos().

© 2024 Qt公司有限公司。此处包含的文档贡献者是各自所有者的版权。此处提供的文档是根据自由软件基金会发布的 GNU自由文档许可版本 1.3 许可的。Qt和相应标志是芬兰和/或全球其他国家的 The Qt Company Ltd. 的 商标。所有其他商标均为各自所有者的财产。