<QtMath> - Generic Math Functions
Die <QtMath> Header-Datei bietet verschiedene mathematische Funktionen. 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) |
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) |
Detaillierte Beschreibung
Diese Funktionen sind teilweise Komfortdefinitionen für grundlegende mathematische Operationen, die in den C- oder Standard-Template-Bibliotheken nicht verfügbar sind.
Der Header stellt auch sicher, dass einige Konstanten, die in POSIX spezifiziert sind, aber nicht in den C++-Standards vorhanden sind (und daher auf einigen Plattformen nicht in <math.h> enthalten sind), definiert sind:
Konstante | Beschreibung |
---|---|
M_E | Die Basis des natürlichen Logarithmus, e = exp(1) |
M_LOG2E | Der Basis-Zwei-Logarithmus von e |
M_LOG10E | Der Basis-Zehntel-Logarithmus von e |
M_LN2 | Der natürliche Logarithmus von zwei |
M_LN10 | Der natürliche Logarithmus von zehn |
M_PI | Das Verhältnis des Umfangs eines Kreises zum Durchmesser, π |
M_PI_2 | Halber M_PI, π / 2 |
M_PI_4 | Viertel M_PI, π / 4 |
M_1_PI | Der Kehrwert von M_PI, 1 / π |
M_2_PI | Das Doppelte des Kehrwerts von M_PI, 2 / π |
M_2_SQRTPI | Zwei geteilt durch die Quadratwurzel von pi, 2 / √π |
M_SQRT2 | Die Quadratwurzel aus zwei, √2 |
M_SQRT1_2 | Die Quadratwurzel aus der Hälfte, 1 / √2 |
Funktion Dokumentation
template <typename T> auto qAcos(T v)
Gibt den Arkuskosinus von v als Winkel im Bogenmaß zurück. Arkosinus ist die Umkehroperation von Kosinus.
Siehe auch qAtan(), qAsin(), und qCos().
template <typename T> auto qAsin(T v)
Gibt den Arkussinus von v als Winkel im Bogenmaß zurück. Arkussinus ist die umgekehrte Operation von 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 ist. 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 im Bogenmaß zurück. Arkustangens ist die Umkehroperation von Tangens.
Siehe auch qTan(), qAcos(), und qAsin().
template <typename T> int qCeil(T v)
Gibt die Obergrenze des Wertes v zurück.
Die Obergrenze ist die kleinste ganze Zahl, die nicht kleiner ist als v. Wenn v beispielsweise 41,2 ist, dann ist die Obergrenze 42.
Siehe auch qFloor().
template <typename T> auto qCos(T v)
Gibt den Kosinus eines Winkels v im Bogenmaß zurück.
[constexpr]
double qDegreesToRadians(double degrees)
Diese Funktion wandelt die degrees in Double in Radiant um.
Beispiel:
double degrees = 180.0 double radians = qDegreesToRadians(degrees)
Siehe auch qRadiansToDegrees().
[constexpr]
float qDegreesToRadians(float degrees)
Diese Funktion wandelt die degrees in 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 die degrees in Double in Radiant 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 absoluten Wert von v zurück.
template <typename T> int qFloor(T v)
Gibt die Untergrenze des Wertes v zurück.
Die Untergrenze ist die größte Ganzzahl, die nicht größer ist als v. Wenn v beispielsweise 41,2 ist, dann ist die Untergrenze 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
Wie bei den Formen mit zwei und drei Argumenten, die von std::hypot() unterstützt werden, aber mit so vielen numerischen Parametern, wie Sie ihr übergeben möchten. Verwendet first und jeden der rest als Koordinaten, führt eine Berechnung durch, die der Quadratur jedes einzelnen Parameters entspricht, addiert und gibt die Quadratwurzel zurück, mit der Ausnahme, dass Unter- und Überlauf 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)
Dies ist eine überladene Funktion.
Gibt den Abstand eines Punktes (x, y) vom Ursprung (0, 0) zurück.
Dies ist qSqrt(x * x + y * y), optimiert. Insbesondere können Unterlauf und Überlauf vermieden werden.
Akzeptiert eine beliebige Mischung numerischer Typen und liefert denselben Fließkommatyp wie std::hypot(). Wenn einer der beiden Parameter unendlich ist, ist auch das Ergebnis unendlich; andernfalls, wenn einer der beiden Parameter ein NaN ist, ist auch das Ergebnis unendlich.
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)
Dies ist eine überladene Funktion.
Gibt den Abstand eines Punktes (x, y, z) vom Ursprung (0, 0, 0) zurück.
Dies ist qSqrt(x * x + y * y + z * z), optimiert wo unterstützt. Insbesondere können Unterlauf und Überlauf vermieden werden.
Akzeptiert eine beliebige Mischung numerischer Typen und liefert denselben Fließkommatyp wie std::hypot(). Wenn einer der Parameter unendlich ist, ist auch das Ergebnis unendlich; andernfalls, wenn einer der Parameter NaN ist, ist auch das Ergebnis unendlich.
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ächstgelegene Zweierpotenz größer als value zurück. Für 0 wird 1 zurückgegeben, und für Werte größer oder gleich 2^31 ist das Ergebnis undefiniert.
[constexpr]
quint32 qNextPowerOfTwo(qint32 value)
Dies ist eine überladene Funktion.
Diese Funktion gibt die nächstgelegene Zweierpotenz größer als value zurück. Für negative Werte ist das Ergebnis undefiniert.
[constexpr]
quint64 qNextPowerOfTwo(qint64 value)
Dies ist eine überladene Funktion.
Diese Funktion gibt die nächstgelegene Zweierpotenz größer als value zurück. Für negative Werte ist das Ergebnis undefiniert.
[constexpr]
quint64 qNextPowerOfTwo(quint64 value)
Diese Funktion gibt die nächstgelegene Zweierpotenz größer als value zurück. Für 0 wird 1 zurückgegeben, und für Werte größer oder gleich 2^63 ist das Ergebnis undefiniert.
template <typename T1, typename T2> auto qPow(T1 x, T2 y)
Gibt den Wert von x hochgezählt mit 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 die radians in Double in Grad um.
Beispiel:
double radians = M_PI double degrees = qRadiansToDegrees(radians)
Siehe auch qDegreesToRadians().
[constexpr]
float qRadiansToDegrees(float radians)
Diese Funktion wandelt die radians in 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 die 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 im Bogenmaß zurück.
template <typename T> auto qSqrt(T v)
Gibt die Quadratwurzel von v zurück. Diese Funktion gibt ein NaN zurück, wenn v eine negative Zahl ist.
Siehe auch qPow() und qHypot().
template <typename T> auto qTan(T v)
Gibt den Tangens eines Winkels v im Bogenmaß zurück.
© 2025 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.