_Complex_I
From cppreference.net
|
Определено в заголовочном файле
<complex.h>
|
||
|
#define _Complex_I /* unspecified */
|
(начиная с C99) | |
Макрос
_Complex_I
раскрывается в значение типа
const
float
_Complex
со значением мнимой единицы.
Содержание |
Примечания
Этот макрос может использоваться, когда I недоступен, например, когда он был неопределен приложением.
В отличие от _Imaginary_I и CMPLX , использование этого макроса для создания комплексного числа может привести к потере знака нуля в мнимой части.
Пример
Запустить этот код
#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
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
-
- 7.3.1/4 _Complex_I (стр.: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
-
- 7.3.1/4 _Complex_I (стр: 136)
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.3.1/4 _Complex_I (стр: 188)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.3.1/2 _Complex_I (стр: 170)
Смотрите также
|
(C99)
|
константа мнимой единицы i
(макрос-константа) |
|
(C99)
|
константа комплексной или мнимой единицы i
(макрос-константа) |