trunc, truncf, truncl
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definiert im Header
<math.h>
|
||
|
float
truncf
(
float
arg
)
;
|
(1) | (seit C99) |
|
double
trunc
(
double
arg
)
;
|
(2) | (seit C99) |
|
long
double
truncl
(
long
double
arg
)
;
|
(3) | (seit C99) |
|
Definiert im Header
<tgmath.h>
|
||
|
#define trunc( arg )
|
(4) | (seit C99) |
truncl
aufgerufen. Andernfalls, wenn
arg
einen ganzzahligen Typ oder den Typ
double
hat, wird
trunc
aufgerufen. Andernfalls wird
truncf
aufgerufen.
Inhaltsverzeichnis |
Parameter
| arg | - | Gleitkommawert |
Rückgabewert
Wenn keine Fehler auftreten, wird der nächstgelegene ganzzahlige Wert zurückgegeben, der im Betrag nicht größer als arg ist (mit anderen Worten, arg in Richtung null gerundet).
Fehlerbehandlung
Fehler werden gemeldet, wie in
math_errhandling
festgelegt.
Wenn die Implementierung IEEE-Gleitkommaarithmetik (IEC 60559) unterstützt:
- Der aktuelle Rundungsmodus hat keine Auswirkung.
- Wenn arg ±∞ ist, wird es unverändert zurückgegeben.
- Wenn arg ±0 ist, wird es unverändert zurückgegeben.
- Wenn arg NaN ist, wird NaN zurückgegeben.
Hinweise
FE_INEXACT kann (muss aber nicht) ausgelöst werden, wenn ein nicht-ganzzahliger endlicher Wert abgeschnitten wird.
Die größten darstellbaren Fließkommawerte sind exakte Ganzzahlen in allen Standard-Fließkommaformaten, daher überläuft diese Funktion niemals allein; jedoch kann das Ergebnis jeden Ganzzahltyp (einschließlich intmax_t ) überlaufen, wenn es in einer Ganzzahlvariablen gespeichert wird.
Die implizite Konvertierung von Gleitkommazahlen zu Ganzzahltypen rundet ebenfalls gegen Null, ist jedoch auf die Werte beschränkt, die vom Zieltyp dargestellt werden können.
Beispiel
Mögliche Ausgabe:
trunc(+2.7) = +2.0 trunc(-2.7) = -2.0 trunc(-0.0) = -0.0 trunc(-Inf) = -inf
Referenzen
- C23-Standard (ISO/IEC 9899:2024):
-
- 7.12.9.8 Die trunc-Funktionen (S.: TBD)
-
- 7.25 Typgenerische Mathematik <tgmath.h> (S.: TBD)
-
- F.10.6.8 Die trunc-Funktionen (S.: TBD)
- C17-Standard (ISO/IEC 9899:2018):
-
- 7.12.9.8 Die trunc-Funktionen (S.: TBD)
-
- 7.25 Typgenerische Mathematik <tgmath.h> (S.: TBD)
-
- F.10.6.8 Die trunc-Funktionen (S.: TBD)
- C11-Standard (ISO/IEC 9899:2011):
-
- 7.12.9.8 Die trunc-Funktionen (S. 253-254)
-
- 7.25 Typgenerische Mathematik <tgmath.h> (S. 373-375)
-
- F.10.6.8 Die trunc-Funktionen (S. 528)
- C99-Standard (ISO/IEC 9899:1999):
-
- 7.12.9.8 Die trunc-Funktionen (S. 234)
-
- 7.22 Typgenerische Mathematik <tgmath.h> (S. 335-337)
-
- F.9.6.8 Die trunc-Funktionen (S. 464)
Siehe auch
|
(C99)
(C99)
|
berechnet die größte Ganzzahl, die nicht größer als der gegebene Wert ist
(Funktion) |
|
(C99)
(C99)
|
berechnet die kleinste Ganzzahl, die nicht kleiner als der gegebene Wert ist
(Funktion) |
|
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
(C99)
|
rundet zur nächsten Ganzzahl, bei Mittelwerten weg von Null
(Funktion) |
|
C++-Dokumentation
für
trunc
|
|