copysign, copysignf, copysignl
Von cppreference.com
| Definiert in Header <math.h> |
||
| float copysignf( float x, float y ); |
(1) | (seit C99) |
| double copysign( double x, double y ); |
(2) | (seit C99) |
| long double copysignl( long double x, long double y ); |
(3) | (seit C99) |
| Definiert in Header <tgmath.h> |
||
| #define copysign(x, y) |
(4) | (seit C99) |
1-3) Erzeugt einen Gleitkommawert mit dem Betrag von
x und dem Vorzeichen von y.4) Typ-generische Makro: Wenn ein Argument vom Typ long double ist, wird
copysignl aufgerufen. Andernfalls, wenn ein Argument vom ganzzahligen Typ oder vom Typ double ist, wird copysign aufgerufen. Andernfalls wird copysignf aufgerufen.Inhalt |
[bearbeiten] Parameter
| x, y | - | Gleitkommazahlen |
[bearbeiten] Rückgabewert
Wenn keine Fehler auftreten, wird der Gleitkommawert mit dem Betrag von x und dem Vorzeichen von y zurückgegeben.
Wenn x NaN ist, wird NaN mit dem Vorzeichen von y zurückgegeben.
Wenn y -0 ist, ist das Ergebnis nur dann negativ, wenn die Implementierung das Vorzeichen-Null konsistent in arithmetischen Operationen unterstützt.
[bearbeiten] Fehlerbehandlung
Diese Funktion unterliegt keinen Fehlern, die in math_errhandling spezifiziert sind.
Wenn die Implementierung IEEE-Gleitkomma-Arithmetik (IEC 60559) unterstützt,
- Der zurückgegebene Wert ist exakt (FE_INEXACT wird nie ausgelöst) und unabhängig vom aktuellen Rundungsmodus.
[bearbeiten] Hinweise
copysign ist der einzige portable Weg, um das Vorzeichen eines NaN-Wertes zu manipulieren (um das Vorzeichen eines NaN zu untersuchen, kann auch signbit verwendet werden).
[bearbeiten] Beispiel
Führen Sie diesen Code aus
Mögliche Ausgabe
copysign(1.0,+2.0) = +1.0 copysign(1.0,-2.0) = -1.0 copysign(INFINITY,-2.0) = -inf copysign(NAN,-2.0) = -nan
[bearbeiten] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.12.11.1 The copysign functions (p: TBD)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. TBD)
- F.10.8.1 The copysign functions (p: TBD)
- C17-Standard (ISO/IEC 9899:2018)
- 7.12.11.1 The copysign functions (p: TBD)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. TBD)
- F.10.8.1 The copysign functions (p: TBD)
- C11-Standard (ISO/IEC 9899:2011)
- 7.12.11.1 The copysign functions (p: 255)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
- F.10.8.1 The copysign functions (p: 529)
- C99-Standard (ISO/IEC 9899:1999)
- 7.12.11.1 The copysign functions (p: 236)
- 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
- F.9.8.1 The copysign functions (p: 465)
[bearbeiten] Siehe auch
| (C99)(C99) |
berechnet den Absolutwert eines Gleitkommawerts (|x|) (Funktion) |
| (C99) |
prüft, ob die gegebene Zahl negativ ist (Funktionsmakro) |
| C++-Dokumentation für copysign
| |