_Imaginary_I
| Definiert im Header <complex.h> |
||
| #define _Imaginary_I /* unspecified */ |
(seit C99) | |
Das Makro _Imaginary_I expandiert zu einem Wert vom Typ const float _Imaginary mit dem Wert der imaginären Einheit.
Wie bei jeder reinen imaginären Unterstützung in C ist dieses Makro nur definiert, wenn imaginäre Zahlen unterstützt werden.
|
Ein Compiler, der __STDC_IEC_559_COMPLEX__ definiert, ist nicht verpflichtet, imaginäre Zahlen zu unterstützen. POSIX empfiehlt die Überprüfung, ob das Makro |
(seit C99) (bis C11) |
|
Imaginäre Zahlen werden unterstützt, wenn __STDC_IEC_559_COMPLEX__ definiert ist. |
(seit C11) |
Inhalt |
[bearbeiten] Hinweise
Dieses Makro ermöglicht die präzise Konstruktion einer komplexen Zahl aus ihren realen und imaginären Komponenten, z.B. mit (double complex)((double)x + _Imaginary_I * (double)y). Dieses Muster wurde in C11 als Makro CMPLX standardisiert. Beachten Sie, dass, wenn stattdessen _Complex_I verwendet wird, dieser Ausdruck negative Nullen in positive Nullen in der imaginären Position konvertieren darf.
[bearbeiten] Beispiel
Ausgabe
z1 = 0.0+Infi z2 = NaN+Infi
[bearbeiten] Referenzen
- C11-Standard (ISO/IEC 9899:2011)
- 7.3.1/5 _Imaginary_I (S. 188)
- G.6/1 _Imaginary_I (S. 537)
- C99-Standard (ISO/IEC 9899:1999)
- 7.3.1/3 _Imaginary_I (S. 170)
- G.6/1 _Imaginary_I (S. 472)
[bearbeiten] Siehe auch
| (C99) |
die komplexe Einheit konstante i (Makro-Konstante) |
| (C99) |
die komplexe oder imaginäre Einheit konstante i (Makro-Konstante) |