C 库 - cpow() 函数

❮ C 标准库 - <complex.h>


C 复数 库中的 cpow() 函数用于计算 x 的 y 次幂(即 xy),其第一个参数沿负实轴进行分支切割。

此函数取决于 z(复数)的类型。如果任何参数都是"float"类型,我们可以使用 cpowf() 来计算复数对数。对于 long double 类型,请使用 cpowl();对于 double 类型,请使用 cpow()

语法

以下是 cpow() 函数的 C 库语法 -

double complex cpow( double complex x, double complex y )

参数

此函数接受以下参数 -

  • x - 它应该是复数、实数或虚数,因为我们想要计算幂。

  • y − 它表示一个数字,是 x 的幂。

返回值

此函数返回复数 xy 的幂。

示例 1

以下是一个简单的 C 程序,用于演示如何对复数使用 cpow()

#include <stdio.h>
#include <complex.h>

int main() {
    double complex z = 3.0 + 4.0 * I;
    
    // 计算复数的幂
    double complex result = cpow(z, 2.0);
    printf("复数的 2 次幂:%.2f%+.2fi", creal(result), cimag(result));
    
    return 0;
}

输出

以下是输出 -

复数的 2 次幂:-7.00+24.00i

示例 2

我们来看另一个示例,使用 cpow() 计算负实数的幂。

#include <stdio.h>
#include <complex.h>

int main() {    
   double complex z2 = cpow(-1, 0.5);
   printf("(-1+0i)^0.5 = %.1f%+.1fi", creal(z2), cimag(z2));
}

输出

以下是输出 -

(-1+0i)^0.5 = 0.0+1.0i

示例 3

以下程序定义一个复数 z = -3.0 + - 4.0i,并使用 cpow() 函数计算其平方。

#include <stdio.h>
#include <complex.h>

int main() {
   double complex z = -3.0 + -4.0*I; 
   //use cpow()
   double complex res = cpow(z, 2);
   printf("cpow(%.2f + %.2fi) = %.2f + %.2fi", creal(z), cimag(z), creal(res), cimag(res));
   return 0;
}

输出

以下是输出 -

cpow(-3.00 + -4.00i) = -7.00 + 24.00i

❮ C 标准库 - <complex.h>