名稱空間
變體
操作

conjf、conj、conjl

來自 cppreference.com
< c‎ | numeric‎ | complex
定義在標頭檔案 <complex.h>
float complex       conjf( float complex z );
(1) (C99 起)
double complex      conj( double complex z );
(2) (C99 起)
long double complex conjl( long double complex z );
(3) (C99 起)
定義於標頭檔案 <tgmath.h>
#define conj( z )
(4) (C99 起)
1-3) 計算 z複共軛,透過反轉虛部的符號。
4) 型別通用宏:如果 z 的型別為 long double complexlong double imaginarylong double,則呼叫 conjl。如果 z 的型別為 float complexfloat imaginaryfloat,則呼叫 conjf。如果 z 的型別為 double complexdouble imaginarydouble 或任何整數型別,則呼叫 conj

目錄

[編輯] 引數

z - 複數引數

[編輯] 返回值

z 的複共軛。

[編輯] 注意

在未將 I 實現為 _Imaginary_I 的 C99 實現上,conj 可用於獲取具有負零虛部的複數。在 C11 中,宏 CMPLX 用於此目的。

[編輯] 示例

#include <stdio.h>
#include <complex.h>
 
int main(void)
{
    double complex z = 1.0 + 2.0*I;
    double complex z2 = conj(z);
    printf("The conjugate of %.1f%+.1fi is %.1f%+.1fi\n",
            creal(z), cimag(z), creal(z2), cimag(z2));
 
    printf("Their product is %.1f%+.1fi\n", creal(z*z2), cimag(z*z2));
}

輸出

The conjugate of 1.0+2.0i is 1.0-2.0i
Their product is 5.0+0.0i

[編輯] 參考

  • C11 標準 (ISO/IEC 9899:2011)
  • 7.3.9.4 conj 函式 (p: 198)
  • 7.25 型別通用數學 <tgmath.h> (p: 373-375)
  • G.7 型別通用數學 <tgmath.h> (p: 545)
  • C99 標準 (ISO/IEC 9899:1999)
  • 7.3.9.3 conj 函式 (p: 179)
  • 7.22 型別通用數學 <tgmath.h> (p: 335-337)
  • G.7 型別通用數學 <tgmath.h> (p: 480)

[編輯] 另請參閱

C++ 文件 用於 conj