_Complex_I
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <complex.h> で定義
|
||
#define _Complex_I /* unspecified */ |
(C99以上) | |
_Complex_I は虚数単位の値を持つ const float _Complex 型の値に展開されるマクロです。
ノート
このマクロは I が利用可能でない場合 (アプリケーションによって定義削除された場合など) でも使用できます。
_Imaginary_I や CMPLX と異なり、このマクロを使って複素数を組み立てると虚部のゼロの符号を失う場合があります。
例
Run this code
#include <stdio.h>
#include <complex.h>
#undef I
#define J _Complex_I // can be used to redefine I
int main(void)
{
// can be used to construct a complex number
double complex z = 1.0 + 2.0 * _Complex_I;
printf("1.0 + 2.0 * _Complex_I = %.1f%+.1fi\n", creal(z), cimag(z));
// sign of zero may not be preserved
double complex z2 = 0.0 + -0.0 * _Complex_I;
printf("0.0 + -0.0 * _Complex_I = %.1f%+.1fi\n", creal(z2), cimag(z2));
}
出力例:
1.0 + 2.0 * _Complex_I = 1.0+2.0i
0.0 + -0.0 * _Complex_I = 0.0+0.0i
参考文献
- C11 standard (ISO/IEC 9899:2011):
- 7.3.1/4 _Complex_I (p: 188)
- C99 standard (ISO/IEC 9899:1999):
- 7.3.1/2 _Complex_I (p: 170)
関連項目
(C99) |
虚数単位 i を表す虚数型の定数 (マクロ定数) |
(C99) |
虚数単位 i を表す複素数型または虚数型の定数 (マクロ定数) |