_Imaginary_I
提供: cppreference.com
ヘッダ <complex.h> で定義 | ||
#define _Imaginary_I /* unspecified */ | (C99以上) | |
_Imaginary_I
は虚数単位の値を持つ constfloat _Imaginary 型の値に展開されるマクロです。
Cにおける純粋な虚数のサポートと同様、このマクロは虚数がサポートされている場合にのみ定義されます。
__STDC_IEC_559_COMPLEX__ を定義するコンパイラが虚数をサポートすることは必須ではありません。 POSIX では虚数のサポートを判定したい場合は | (C99以上) (C11未満) |
__STDC_IEC_559_COMPLEX__ が定義されていれば虚数はサポートされます。 | (C11以上) |
目次 |
[編集]ノート
このマクロを使用すると、実部と虚部から正確に複素数を組み立てることができます (例: (doublecomplex)((double)x + _Imaginary_I *(double)y))。 このパターンは C11 で CMPLX マクロとして標準化されました。 代わりに _Complex_I を使用すると、虚部において負のゼロが正のゼロに変換される場合があります。
[編集]例
Run this code
出力:
z1 = 0.0+Infi z2 = NaN+Infi
[編集]参考文献
- C11 standard (ISO/IEC 9899:2011):
- 7.3.1/5 _Imaginary_I (p: 188)
- G.6/1 _Imaginary_I (p: 537)
- C99 standard (ISO/IEC 9899:1999):
- 7.3.1/3 _Imaginary_I (p: 170)
- G.6/1 _Imaginary_I (p: 472)
[編集]関連項目
(C99) | 虚数単位 i を表す複素数型の定数 (マクロ定数) |
(C99) | 虚数単位 i を表す複素数型または虚数型の定数 (マクロ定数) |