complex.h 初探
发表于 : 2016年10月27日 12:41
https://gcc.gnu.org/onlinedocs/gcc/Complex.html
https://en.wikipedia.org/wiki/C_mathematical_functions#complex.h
初始化:
complex a;
初始化 + 赋值:
complex b = -1.0fi + 3.0f;
赋值
a = 6.0i;
a = 2.5i + 6.0;
带有 i 或者 j 的部分代表虚部,i 和 j 的作用等价。如果不指出实部,则实部为0.0。
单独获取和打印虚部和实部的值
creal(a)
__real__(a)
cimag(a)
__imag__(a)
printf("%f %f", creal(a), __imag__(a) );
四则运算
看了complex.h , ccos, cpow, csin, csqrt 等函数都有,就是没有plus , add, increase, multiply 之类
一番懵逼之后,发现可以直接 + - * /
x = a + a;
x = a - b;
x = b * b;
x = b / a;
a /= 2.0;
complex.h内声明的函数(描述摘自wiki)
这些函数默认的传入和传出类型是 double,单独加f后缀时表示 float, 单独加l后缀表示 long double
实际使用
如果虚部的数字是来自其他浮点型变量,可以 将这个变量 * 1.0i ,示例
待编辑
https://en.wikipedia.org/wiki/C_mathematical_functions#complex.h
初始化:
complex a;
初始化 + 赋值:
complex b = -1.0fi + 3.0f;
赋值
a = 6.0i;
a = 2.5i + 6.0;
带有 i 或者 j 的部分代表虚部,i 和 j 的作用等价。如果不指出实部,则实部为0.0。
单独获取和打印虚部和实部的值
creal(a)
__real__(a)
cimag(a)
__imag__(a)
printf("%f %f", creal(a), __imag__(a) );
四则运算
看了complex.h , ccos, cpow, csin, csqrt 等函数都有,就是没有plus , add, increase, multiply 之类
一番懵逼之后,发现可以直接 + - * /
x = a + a;
x = a - b;
x = b * b;
x = b / a;
a /= 2.0;
complex.h内声明的函数(描述摘自wiki)
Code: [show] | [select all]
实际使用
如果虚部的数字是来自其他浮点型变量,可以 将这个变量 * 1.0i ,示例
Code: [show] | [select all]