?
Ce document utilise Manuel du site Web PHP chinois Libérer
在頭文件<complex.h>中定義 | ||
---|---|---|
#define _Imaginary_I / *未指定* / | (自C99以來) |
_Imaginary_I宏用虛數單元的值展開為const float _Imaginary類型的值。
與C中的任何純虛數支持一樣,只有在支持虛數時才定義該宏。
定義__STDC_IEC_559_COMPLEX__的編譯器不需要支持虛數。POSIX建議檢查宏_Imaginary_I是否被定義為標識虛數支持。 | (自C99開始)(直到C11) |
---|---|
如果定義了__STDC_IEC_559_COMPLEX__,則支持虛數。 | (自C11以來) |
這個宏允許從其實部和虛部組裝一個復數的精確方法,例如, (雙復數)((double)x + _Imaginary_I *(double)y)。 這種模式在C11中被標準化為宏CMPLX。 請注意,如果使用_Complex_I,則允許此表達式將虛擬位置中的負零轉換為正零。
#include <stdio.h>#include <complex.h> int main(void){ double complex z = 0.0 + -0.0 * _Imaginary_I; printf("z = %.1f%+.1fi\n", creal(z), cimag(z));}
輸出:
z = 0.0-0.0i
C11標準(ISO / IEC 9899:2011):
7.3.1 / 5 _Imaginary_I(p:188)
G.6 / 1 _Imaginary_I(p:537)
C99標準(ISO / IEC 9899:1999):
7.3.1 / 3 _Imaginary_I(p:170)
G.6 / 1 _Imaginary_I(p:472)
_Complex_I(C99) | 復數單位常數i(宏常數) |
---|---|
I (C99) | 復數或虛數單位常數i(宏常數) |