<QtMath> - Generic Math Functions

Die Header-Datei <QtMath> stellt verschiedene mathematische Funktionen bereit. Mehr...

Header: #include <QtMath>

Funktionen

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)
quint64 qNextPowerOfTwo(quint64 value)
quint32 qNextPowerOfTwo(qint32 value)
quint64 qNextPowerOfTwo(qint64 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)

Ausführliche Beschreibung

Diese Funktionen sind teilweise Komfortdefinitionen für grundlegende mathematische Operationen, die in der C-Bibliothek oder den Standard-Template-Bibliotheken nicht verfügbar sind.

Der Header stellt außerdem sicher, dass einige in POSIX festgelegte Konstanten, die jedoch nicht in den C++-Standards enthalten sind (und daher auf einigen Plattformen in <math.h> fehlen), definiert werden:

KonstanteBeschreibung
M_EDie Basis des natürlichen Logarithmus, e = exp(1)
M_LOG2EDer Logarithmus von e zur Basis 2
M_LOG10EDer Logarithmus von e zur Basis 10
M_LN2Der natürliche Logarithmus von zwei
M_LN10Der natürliche Logarithmus von zehn
M_PIDas Verhältnis von Kreisumfang zu Durchmesser, π
M_PI_2Die Hälfte von M_PI, π / 2
M_PI_4Ein Viertel von π, π / 4
M_1_PIDer Kehrwert von M_PI, 1 / π
M_2_PIDas Doppelte des Kehrwerts von M_PI, 2 / π
M_2_SQRTPIZwei geteilt durch die Quadratwurzel von Pi, 2 / √π
M_SQRT2Die Quadratwurzel aus zwei, √2
M_SQRT1_2Die Quadratwurzel von Halb, 1 / √2

Funktionsdokumentation

template <typename T> auto qAcos(T v)

Gibt den Arkuskosinus von v als Winkel in Radianten zurück. Der Arkuskosinus ist die Umkehrfunktion des Kosinus.

Siehe auch qAtan(), qAsin() und qCos().

template <typename T> auto qAsin(T v)

Gibt den Arkussinus von v als Winkel in Radianten zurück. Der Arkussinus ist die Umkehrfunktion des Sinus.

Siehe auch qSin(), qAtan() und qAcos().

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

Gibt den Arkustangens eines Punktes zurück, der durch die Koordinaten y und x angegeben wird. Diese Funktion gibt den Winkel (Argument) dieses Punktes zurück.

Siehe auch qAtan() und qHypot().

template <typename T> auto qAtan(T v)

Gibt den Arkustangens von v als Winkel in Radianten zurück. Der Arkustangens ist die Umkehrfunktion der Tangensfunktion.

Siehe auch qTan(), qAcos() und qAsin().

template <typename T> int qCeil(T v)

Gibt die Obergrenze des Werts „ v “ zurück.

Die Obergrenze ist die kleinste ganze Zahl, die nicht kleiner als ` v` ist. Wenn beispielsweise ` v ` gleich 41,2 ist, beträgt die Obergrenze 42.

Siehe auch qFloor().

template <typename T> auto qCos(T v)

Gibt den Kosinus eines Winkels v in Radianten zurück.

Siehe auch qSin() und qTan().

[constexpr] double qDegreesToRadians(double degrees)

Diese Funktion wandelt den Wert „ degrees “ vom Typ „double“ in Radiant um.

Beispiel:

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

Siehe auch „ qRadiansToDegrees()“.

[constexpr] float qDegreesToRadians(float degrees)

Diese Funktion wandelt den Wert „ degrees “ vom Typ „float“ in Radiant um.

Beispiel:

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

Siehe auch „ qRadiansToDegrees()“.

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

Diese Funktion wandelt den Wert „ degrees “ vom Typ „double“ in Radianten um.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch ` qRadiansToDegrees()`.

template <typename T> auto qExp(T v)

Gibt die Exponentialfunktion von e hoch v zurück.

Siehe auch qLn().

template <typename T> auto qFabs(T v)

Gibt den Absolutwert von ` v` zurück.

template <typename T> int qFloor(T v)

Gibt den Floor-Wert von v zurück.

Die Floor-Funktion gibt die größte ganze Zahl zurück, die nicht größer als ` v` ist. Wenn beispielsweise ` v ` gleich 41,2 ist, beträgt die Floor-Funktion 41.

Siehe auch ` qCeil()`.

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

Gibt den Abstand vom Ursprung in beliebig vielen Dimensionen zurück

Dies entspricht den von std::hypot() unterstützten Formen mit zwei und drei Argumenten, jedoch mit beliebig vielen numerischen Parametern, die Sie an die Funktion übergeben können. Verwendet „ first “ und die einzelnen „ rest “ als Koordinaten und führt eine Berechnung durch, die dem Quadrieren jedes Werts, dem Summieren und dem Zurückgeben der Quadratwurzel entspricht, mit dem Unterschied, dass Unter- und Überläufe so weit wie möglich vermieden werden.

Diese Funktion wurde in Qt 6.1 eingeführt.

Siehe auch „ qSqrt()“.

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

Gibt den Abstand eines Punktes (x, y) vom Ursprung (0, 0) zurück.

Dies ist eine optimierte Version von ` qSqrt(x * x + y * y)`. Insbesondere können Unter- und Überläufe vermieden werden.

Akzeptiert beliebige Kombinationen von numerischen Typen und gibt denselben Gleitkommatyp wie std::hypot() zurück. Ist einer der Parameter unendlich, ist auch das Ergebnis unendlich; andernfalls gilt: Ist einer der Parameter ein NaN, ist auch das Ergebnis ein NaN.

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.1 eingeführt.

Siehe auch „ qSqrt()“ und „ qAtan2()“.

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

Gibt den Abstand eines Punktes (x, y, z) vom Ursprung (0, 0, 0) zurück.

Dies entspricht „ qSqrt “ (x * x + y * y + z * z) und ist, sofern unterstützt, optimiert. Insbesondere können Unter- und Überläufe vermieden werden.

Akzeptiert beliebige Kombinationen numerischer Typen und gibt denselben Gleitkommatyp wie std::hypot() zurück. Ist ein Parameter unendlich, ist auch das Ergebnis unendlich; andernfalls ist das Ergebnis ebenfalls unendlich, wenn ein Parameter NaN ist.

Dies ist eine überladene Funktion.

Diese Funktion wurde in Qt 6.1 eingeführt.

Siehe auch ` qSqrt()`.

template <typename T> auto qLn(T v)

Gibt den natürlichen Logarithmus von v zurück. Der natürliche Logarithmus verwendet die Basis e.

Siehe auch qExp().

[constexpr] quint32 qNextPowerOfTwo(quint32 value)

Diese Funktion gibt die nächsthöhere Zweierpotenz zurück, die größer ist als value. Für 0 gibt sie 1 zurück, und für Werte größer oder gleich 2^31 ist das Ergebnis undefiniert.

[constexpr] quint64 qNextPowerOfTwo(quint64 value)

Diese Funktion gibt die nächsthöhere Zweierpotenz zurück, die größer ist als value. Für 0 gibt sie 1 zurück, und für Werte größer oder gleich 2^63 ist das Ergebnis undefiniert.

[constexpr] quint32 qNextPowerOfTwo(qint32 value)

Diese Funktion gibt die nächstgrößere Zweierpotenz zurück, die größer als value ist. Bei negativen Werten ist das Ergebnis undefiniert.

Dies ist eine überladene Funktion.

[constexpr] quint64 qNextPowerOfTwo(qint64 value)

Diese Funktion gibt die nächstgrößere Zweierpotenz größer als value zurück. Bei negativen Werten ist das Ergebnis undefiniert.

Dies ist eine überladene Funktion.

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

Gibt den Wert von „ x “ hoch „ y “ zurück. Das heißt, „ x “ ist die Basis und „ y “ ist der Exponent.

Siehe auch qSqrt().

[constexpr] double qRadiansToDegrees(double radians)

Diese Funktion wandelt den Winkel „ radians “ im Double-Format in Grad um.

Beispiel:

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

Siehe auch „ qDegreesToRadians()“.

[constexpr] float qRadiansToDegrees(float radians)

Diese Funktion wandelt den Wert „ radians “ vom Typ „float“ in Grad um.

Beispiel:

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

Siehe auch ` qDegreesToRadians()`.

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

Diese Funktion wandelt den „ radians “ in double in Grad um.

Diese Funktion wurde in Qt 6.0 eingeführt.

Siehe auch ` qDegreesToRadians()`.

template <typename T> auto qSin(T v)

Gibt den Sinus des Winkels v in Radianten zurück.

Siehe auch qCos() und qTan().

template <typename T> auto qSqrt(T v)

Gibt die Quadratwurzel von v zurück. Diese Funktion gibt einen NaN-Wert zurück, wenn v eine negative Zahl ist.

Siehe auch qPow() und qHypot().

template <typename T> auto qTan(T v)

Gibt die Tangente eines Winkels v in Radianten zurück.

Siehe auch qSin() und 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.