<QtMath> - Generic Math Functions

El fichero de cabecera <QtMath> proporciona varias funciones matemáticas. Más...

Header: #include <QtMath>

Funciones

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)
double qDegreesToRadians(double degrees)
float qDegreesToRadians(float 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(F first, Fs... rest)
(since 6.1) auto qHypot(Tx x, Ty y)
(since 6.1) auto qHypot(Tx x, Ty y, Tz z)
auto qLn(T v)
quint32 qNextPowerOfTwo(quint32 value)
quint32 qNextPowerOfTwo(qint32 value)
quint64 qNextPowerOfTwo(qint64 value)
quint64 qNextPowerOfTwo(quint64 value)
auto qPow(T1 x, T2 y)
double qRadiansToDegrees(double radians)
float qRadiansToDegrees(float radians)
(since 6.0) long double qRadiansToDegrees(long double radians)
auto qSin(T v)
auto qSqrt(T v)
auto qTan(T v)

Descripción detallada

Estas funciones son en parte definiciones de conveniencia para operaciones matemáticas básicas no disponibles en las bibliotecas C o Standard Template Libraries.

La cabecera también asegura que algunas constantes especificadas en POSIX, pero no presentes en los estándares C++ (por lo tanto ausentes de <math.h> en algunas plataformas), estén definidas:

ConstanteDescripción
M_ELa base de los logaritmos naturales, e = exp(1)
M_LOG2EEl logaritmo de base dos de e
M_LOG10EEl logaritmo de base diez de e
M_LN2Logaritmo natural de dos
M_LN10El logaritmo natural de diez
M_PIRelación entre la circunferencia y el diámetro de un círculo, π
M_PI_2Medio M_PI, π / 2
M_PI_4Cuarto de M_PI, π / 4
M_1_PIEl inverso de M_PI, 1 / π
M_2_PIDos veces el inverso de M_PI, 2 / π
M_2_SQRTPIDos dividido por la raíz cuadrada de pi, 2 / √π
M_SQRT2La raíz cuadrada de dos, √2
M_SQRT1_2El techo cuadrado de la mitad, 1 / √2

Documentación de funciones

template <typename T> auto qAcos(T v)

Devuelve el arcocoseno de v como un ángulo en radianes. El arcocoseno es la operación inversa del coseno.

Véase también qAtan(), qAsin() y qCos().

template <typename T> auto qAsin(T v)

Devuelve el arcoseno de v como un ángulo en radianes. El arcoseno es la operación inversa del seno.

Véase también qSin(), qAtan() y qAcos().

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

Devuelve la arctangente de un punto especificado por las coordenadas y y x. Esta función devolverá el ángulo (argumento) de ese punto.

Véase también qAtan() y qHypot().

template <typename T> auto qAtan(T v)

Devuelve la arctangente de v como un ángulo en radianes. La arctangente es la operación inversa de la tangente.

Véase también qTan(), qAcos() y qAsin().

template <typename T> int qCeil(T v)

Devuelve el techo del valor v.

El techo es el número entero más pequeño que no es menor que v. Por ejemplo, si v es 41.2, entonces el techo es 42.

Véase también qFloor().

template <typename T> auto qCos(T v)

Devuelve el coseno de un ángulo v en radianes.

Véase también qSin() y qTan().

[constexpr] double qDegreesToRadians(double degrees)

Esta función convierte el degrees en doble a radianes.

Ejemplo:

double degrees = 180.0;
double radians = qDegreesToRadians(degrees);

Véase también qRadiansToDegrees().

[constexpr] float qDegreesToRadians(float degrees)

Esta función convierte el degrees en float a radianes.

Ejemplo:

float degrees = 180.0f;
float radians = qDegreesToRadians(degrees);

Véase también qRadiansToDegrees().

[constexpr, since 6.0] long double qDegreesToRadians(long double degrees)

Esta función convierte el degrees en doble a radianes.

Esta función se introdujo en Qt 6.0.

Véase también qRadiansToDegrees().

template <typename T> auto qExp(T v)

Devuelve la función exponencial de e a la potencia de v.

Véase también qLn().

template <typename T> auto qFabs(T v)

Devuelve el valor absoluto de v.

template <typename T> int qFloor(T v)

Devuelve el piso del valor v.

El piso es el mayor número entero que no es mayor que v. Por ejemplo, si v es 41.2, entonces el piso es 41.

Véase también qCeil().

[since 6.1] template <typename F, typename... Fs> auto qHypot(F first, Fs... rest)

Devuelve la distancia desde el origen en un número arbitrario de dimensiones.

Esto es como para las formas de dos y tres argumentos, soportadas por std::hypot(), pero con tantos parámetros numéricos como quieras pasarle. Utiliza first y cada uno de los rest como coordenadas, realizando un cálculo equivalente a elevar cada uno al cuadrado, sumando y devolviendo la raíz cuadrada, salvo que el desbordamiento y el desbordamiento por defecto se evitan en la medida de lo posible.

Esta función se introdujo en Qt 6.1.

Véase también qSqrt().

[since 6.1] template <typename Tx, typename Ty> auto qHypot(Tx x, Ty y)

Devuelve la distancia de un punto (x, y) desde el origen (0, 0).

Se trata de qSqrt(x * x + y * y), optimizado. En particular, se puede evitar el desbordamiento por defecto y por exceso.

Acepta cualquier mezcla de tipos numéricos, devolviendo el mismo tipo de punto flotante que std::hypot(). Si cualquiera de los parámetros es infinito, también lo es el resultado; en caso contrario, si cualquiera de los parámetros es NaN, también lo es el resultado.

Se trata de una función sobrecargada.

Esta función se introdujo en Qt 6.1.

Véase también qSqrt() y qAtan2().

[since 6.1] template < typename Tx, typename Ty, typename Tz > auto qHypot(Tx x, Ty y, Tz z)

Devuelve la distancia de un punto (x, y, z) desde el origen (0, 0, 0).

Se trata de qSqrt(x * x + y * y + z * z), optimizado cuando es compatible. En particular, puede evitarse el desbordamiento y el desbordamiento por defecto.

Acepta cualquier mezcla de tipos numéricos, devolviendo el mismo tipo de punto flotante que std::hypot(). Si algún parámetro es infinito, también lo es el resultado; en caso contrario, si alguno es NaN, también lo es el resultado.

Se trata de una función sobrecargada.

Esta función se introdujo en Qt 6.1.

Véase también qSqrt().

template <typename T> auto qLn(T v)

Devuelve el logaritmo natural de v. El logaritmo natural utiliza la base e.

Véase también qExp().

[constexpr] quint32 qNextPowerOfTwo(quint32 value)

Esta función devuelve la potencia de dos más cercana mayor que value. Para 0 devuelve 1, y para valores mayores o iguales que 2^31 el resultado es indefinido.

[constexpr] quint32 qNextPowerOfTwo(qint32 value)

Esta función devuelve la potencia de dos más cercana mayor que value. Para valores negativos el resultado es indefinido.

Se trata de una función sobrecargada.

[constexpr] quint64 qNextPowerOfTwo(qint64 value)

Esta función devuelve la potencia de dos más cercana mayor que value. Para valores negativos el resultado es indefinido.

Se trata de una función sobrecargada.

[constexpr] quint64 qNextPowerOfTwo(quint64 value)

Esta función devuelve la potencia de dos más cercana mayor que value. Para 0 devuelve 1, y para valores mayores o iguales que 2^63 el resultado es indefinido.

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

Devuelve el valor de x elevado a la potencia de y. Es decir, x es la base y y es el exponente.

Véase también qSqrt().

[constexpr] double qRadiansToDegrees(double radians)

Esta función convierte el radians en doble a grados.

Ejemplo:

double radians = M_PI;
double degrees = qRadiansToDegrees(radians);

Véase también qDegreesToRadians().

[constexpr] float qRadiansToDegrees(float radians)

Esta función convierte el radians en float a grados.

Ejemplo:

float radians = float(M_PI);
float degrees = qRadiansToDegrees(radians);

Véase también qDegreesToRadians().

[constexpr, since 6.0] long double qRadiansToDegrees(long double radians)

Esta función convierte el radians en doble a grados.

Esta función se introdujo en Qt 6.0.

Véase también qDegreesToRadians().

template <typename T> auto qSin(T v)

Devuelve el seno del ángulo v en radianes.

Véase también qCos() y qTan().

template <typename T> auto qSqrt(T v)

Devuelve la raíz cuadrada de v. Esta función devuelve un NaN si v es un número negativo.

Véase también qPow() y qHypot().

template <typename T> auto qTan(T v)

Devuelve la tangente de un ángulo v en radianes.

Véase también qSin() y qCos().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.