trunc, truncf, truncl
| Definiert in 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 in 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.Inhalt |
[edit] Parameter
| arg | - | Gleitkommawert |
[edit] Rückgabewert
Wenn keine Fehler auftreten, wird der ganzzahlige Wert zurückgegeben, der dem Betrag von arg am nächsten liegt und kleiner oder gleich arg ist (mit anderen Worten, arg wird auf Null gerundet).
[edit] Fehlerbehandlung
Fehler werden wie in math_errhandling angegeben gemeldet.
Wenn die Implementierung IEEE-Gleitkomma-Arithmetik (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.
[edit] Anmerkungen
FE_INEXACT kann ausgelöst werden (muss aber nicht), wenn ein nicht-ganzzahliger endlicher Wert abgeschnitten wird.
Die größten darstellbaren Gleitkommazahlen sind in allen Standard-Gleitkommaformaten exakte ganze Zahlen, daher kann diese Funktion für sich allein niemals überlaufen; das Ergebnis kann jedoch jeden Ganzzahltyp (einschließlich intmax_t) überlaufen, wenn es in einer Ganzzahlvariablen gespeichert wird.
Die implizite Konvertierung von Fließkomma- in Ganzzahltypen rundet ebenfalls gegen Null, ist aber auf Werte beschränkt, die vom Zieltyp dargestellt werden können.
[edit] Beispiel
Mögliche Ausgabe
trunc(+2.7) = +2.0 trunc(-2.7) = -2.0 trunc(-0.0) = -0.0 trunc(-Inf) = -inf
[edit] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.12.9.8 The trunc functions (p: TBD)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. TBD)
- F.10.6.8 The trunc functions (p: TBD)
- C17-Standard (ISO/IEC 9899:2018)
- 7.12.9.8 The trunc functions (p: TBD)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. TBD)
- F.10.6.8 The trunc functions (p: TBD)
- C11-Standard (ISO/IEC 9899:2011)
- 7.12.9.8 The trunc functions (p: 253-254)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
- F.10.6.8 The trunc functions (p: 528)
- C99-Standard (ISO/IEC 9899:1999)
- 7.12.9.8 The trunc functions (p: 234)
- 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
- F.9.6.8 The trunc functions (p: 464)
[edit] Siehe auch
| (C99)(C99) |
berechnet die größte ganze Zahl, die nicht größer als der gegebene Wert ist (Funktion) |
| (C99)(C99) |
berechnet die kleinste ganze Zahl, die nicht kleiner als der gegebene Wert ist (Funktion) |
| (C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99)(C99) |
rundet auf die nächste ganze Zahl, wobei bei Halb-Wert-Fällen von Null weg gerundet wird (Funktion) |
| C++ Dokumentation für trunc
| |