<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:

KonstanteBeschreibung
M_EDie Basis des natürlichen Logarithmus, e = exp(1)
M_LOG2EDer Basis-Zwei-Logarithmus von e
M_LOG10EDer Basis-Zehntel-Logarithmus von e
M_LN2Der natürliche Logarithmus von zwei
M_LN10Der natürliche Logarithmus von zehn
M_PIDas Verhältnis des Umfangs eines Kreises zum Durchmesser, π
M_PI_2Halber M_PI, π / 2
M_PI_4Viertel M_PI, π / 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 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.

Siehe auch qSin() und qTan().

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

Siehe auch qCos() und qTan().

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.

Siehe auch qSin() und qCos().

© 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.