_Complex_I
From cppreference.net
|
Definido en el encabezado
<complex.h>
|
||
|
#define _Complex_I /* no especificado */
|
(desde C99) | |
La macro
_Complex_I
se expande a un valor de tipo
const
float
_Complex
con el valor de la unidad imaginaria.
Contenidos |
Notas
Esta macro puede utilizarse cuando I no está disponible, como cuando ha sido anulada por la aplicación.
A diferencia de _Imaginary_I y CMPLX , el uso de esta macro para construir un número complejo puede perder el signo del cero en la parte imaginaria.
Ejemplo
Ejecutar este código
#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)); }
Salida posible:
1.0 + 2.0 * _Complex_I = 1.0+2.0i 0.0 + -0.0 * _Complex_I = 0.0+0.0i
Referencias
- Estándar C23 (ISO/IEC 9899:2024):
-
- 7.3.1/4 _Complex_I (p: TBD)
- Estándar C17 (ISO/IEC 9899:2018):
-
- 7.3.1/4 _Complex_I (p: 136)
- Estándar C11 (ISO/IEC 9899:2011):
-
- 7.3.1/4 _Complex_I (p: 188)
- Estándar C99 (ISO/IEC 9899:1999):
-
- 7.3.1/2 _Complex_I (p: 170)
Véase también
|
(C99)
|
la constante de unidad imaginaria i
(macro constante) |
|
(C99)
|
la constante de unidad compleja o imaginaria i
(macro constante) |