_Imaginary_I
|
Определено в заголовочном файле
<complex.h>
|
||
|
#define _Imaginary_I /* неопределено */
|
(начиная с C99) | |
Макрос
_Imaginary_I
раскрывается в значение типа
const
float
_Imaginary
со значением мнимой единицы.
Как и в случае с любой поддержкой чисто мнимых чисел в C, этот макрос определен только если поддерживаются мнимые числа.
|
Компилятор, определяющий
__STDC_IEC_559_COMPLEX__
, не обязан поддерживать мнимые числа. POSIX рекомендует проверять, определён ли макрос
|
(начиная с C99)
(до C11) |
|
Мнимые числа поддерживаются, если определён __STDC_IEC_559_COMPLEX__ . |
(начиная с C11) |
Содержание |
Примечания
Этот макрос позволяет точно собрать комплексное число из его действительной и мнимой компонент, например, с помощью ( double complex ) ( ( double ) x + _Imaginary_I * ( double ) y ) . Этот шаблон был стандартизирован в C11 как макрос CMPLX . Обратите внимание, что если используется _Complex_I вместо этого, данное выражение может преобразовывать отрицательный ноль в положительный ноль в мнимой позиции.
Пример
Вывод:
z1 = 0.0+Infi z2 = NaN+Infi
Ссылки
- Стандарт C11 (ISO/IEC 9899:2011):
-
- 7.3.1/5 _Imaginary_I (стр. 188)
-
- G.6/1 _Imaginary_I (стр. 537)
- Стандарт C99 (ISO/IEC 9899:1999):
-
- 7.3.1/3 _Imaginary_I (стр. 170)
-
- G.6/1 _Imaginary_I (стр. 472)
Смотрите также
|
(C99)
|
константа комплексной единицы i
(макроконстанта) |
|
(C99)
|
константа комплексной или мнимой единицы i
(макроконстанта) |