?
? ????? PHP ??? ???? ??? ?? ??
在頭文件<complex.h>中定義 | ||
---|---|---|
#define _Imaginary_I / *未指定* / | (自C99以來) |
_Imaginary_I宏用虛數(shù)單元的值展開為const float _Imaginary類型的值。
與C中的任何純虛數(shù)支持一樣,只有在支持虛數(shù)時才定義該宏。
定義__STDC_IEC_559_COMPLEX__的編譯器不需要支持虛數(shù)。POSIX建議檢查宏_Imaginary_I是否被定義為標識虛數(shù)支持。 | (自C99開始)(直到C11) |
---|---|
如果定義了__STDC_IEC_559_COMPLEX__,則支持虛數(shù)。 | (自C11以來) |
這個宏允許從其實部和虛部組裝一個復數(shù)的精確方法,例如, (雙復數(shù))((double)x + _Imaginary_I *(double)y)。 這種模式在C11中被標準化為宏CMPLX。 請注意,如果使用_Complex_I,則允許此表達式將虛擬位置中的負零轉(zhuǎn)換為正零。
#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) | 復數(shù)單位常數(shù)i(宏常數(shù)) |
---|---|
I (C99) | 復數(shù)或虛數(shù)單位常數(shù)i(宏常數(shù)) |