c语言中的复数操作

发布时间:2020-06-17 14:23:06

来源:亿速云

阅读:391

作者:鸽子

复数在数学运算中十分重要,在编写数值运算或者算法的时候,我们会用到复数这种概念。 那么,复数在C/C++语言中是如何表示的呢?我们接下来一一介绍。

C语言中复数

在数学中一个复数可以定义为 (z=a + bi) 的形式。 C 语言在 ISO C99 时就引入了复数类型。它是通过 complex.h 中定义的。 我们可以使用 complex , __complex__ , 或 _ComplexI 类型符号来表示。在C语言中有三种复数类型,分别为 float complex , double complex , long double complex 。他们之间 的区别就是表示复数中实部和虚步的数的数据类型不同。 complex 其实就是一个数组,数组中有两个元素,一个表示复数的实部,一个表示复数的虚部。

定义一个复数

在 complex.h 头文件中定义了两个宏 _Complex_I 和 I 来创建一个复数。Macro: const float complex _Complex_I;

Macro: const float complex I;

这两个宏表示复数 (0+1i) , 我们可是使用这个单位复数来创建任何复数。#include

#include

int main(int argc, char *argv[])

{

complex double a = 3.0 + 4.0 * _Complex_I;

__complex__ double b = 4.0 + 5.0 * _Complex_I;

_Complex double c = 5.0 + 6.0 * _Complex_I;

printf("a=%f+%fi\n", creal(a),cimag(a));

printf("b=%f+%fi\n", creal(b), cimag(b));

printf("c=%f+%fi\n", creal(c), cimag(c));

printf("the arg of a is %d", carg(a));

return 0;

}

a=3.000000+4.000000i

b=4.000000+5.000000i

c=5.000000+6.000000i

the arg of a is 176

复数的基本操作函数

在 complex.h 头文件中定义一些对复数的基本操作的函数。

函数功能

creal    获取复数的实部

cimag    获取复数的虚部

conj    获取复数的共轭

carg    获取,复平面上穿过原点和复数在复平面表示的点,的直线和实数轴之间的夹角

cproj    返回复数在黎曼球面上的投影

复数的数值操作

复数类型也可以像普通数值类型,~int, double, long~ 一样进行直接使用数值操作符号,进行数值操作。#include

#include

int main(int argc, char *argv[])

{

complex double a = 3.0 + 4.0 * _Complex_I;

__complex__ double b = 4.0 + 5.0 * _Complex_I;

_Complex double c = 5.0 + 6.0 * _Complex_I;

complex double d =a + b;

complex double f = a *b ;

complex double g = a/b;

printf ("d=a+b=%f+%fi\n",creal(d),cimag(d));

printf ("f=a*b=%f+%fi\n",creal(f),cimag(f));

printf("g=a/b=%f+%fi\n",creal(g),cimag(g));

return 0;

}

d=a+b=7.000000+9.000000i

f=a*b=-8.000000+31.000000i

g=a/b=0.780488+0.024390i

c语言快速复数的比较大小,c语言中的复数操作相关推荐

  1. Golang语言快速上手到综合实战(Go语言、Beego框架、高并发聊天室、豆瓣电影爬虫) 下载

    下载Golang语言快速上手到综合实战(Go语言.Beego框架.高并发聊天室.豆瓣电影爬虫) 下载地址:请加QQ:397245854 Go是Google开发的一种编译型,可并行化,并具有垃圾回收功能 ...

  2. 语言相关系数显著性_相关性分析在SPSS中的具体操作,一文读懂相关系数的含义及使用——【杏花开生物医药统计】...

    相关性分析介绍 生物和医学统计中,相关分析属于流程前端的探索性分析,研究变量间关系及性质,其结果在为下一步采取何种方法做出指引,为数据挖掘之前的基础工作. 相关系数的选择 相关分析之前,需要先确认变量 ...

  3. c语言快速复数的比较大小,C语言实现常用的复数运算

    这是最近学习的C语言数据结构的中的案例,但是没有给出具体的实现代码.根据自己的学习水平简单编写了一下,倒是能够计算与输出,但是不知道还有没有什么缺陷. 借用到了部分之前博客中展示的代码,以下是今天实现 ...

  4. 如何用C语言改变宏定义的大小,C语言中宏定义使用的小细节

    C语言中宏定义使用的小细节 #pragma#pragma 预处理指令详解 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#p ...

  5. c语言 类void 方法 字节大小,C 语言数据类型

    C 语言数据类型 在本教程中,您将学习C编程中的基本数据类型,例如int,float,char等. 在C语言中有以下数据类型:类型数据类型 基本数据类型int, char, float, double ...

  6. c 语言比较三个整数大小,C 语言 —— 比较三个整数的大小并从大到小输出

    思路一:定义两个比较大小的函数,依次两两比较输出最大或最小的数字(较为繁琐,最易分析) /* C 语言比较三个整数的大小并从大到小输出 思路:定义两个比较大小的函数,依次两两比较输出最大或最小的数字 ...

  7. C语言zh字符串指针的大小,C语言的一些小技巧,小知识

    1.用if(!strcmp(s1, s2)) 比较两个字符串等值,是否是个好风格? 这并不是个很好的风格, 虽然这是个流行的习惯用法.如果两个字符串相等, 这个测试返回为真, 但! ("非& ...

  8. c语言浮点型与整形比较大小,C语言整形与浮点型转化过程中的精度损失

    本篇文章主要解决的问题是C语言整形与浮点型转化过程中的精度损失从而容易产生bug,对于浮点和整形的相关内容大家可以参考下面两篇文章.,这里就不再赘叙了. 1整形与浮点转化的精度损失参考小程序:1#in ...

  9. c语言指针如何增加内存大小,C语言如何给指针分配内存?

    匿名用户 1级 2010-09-20 回答 看了下,基本上回答的都是用new 那个,都是C++程序员吧 c语言里面是用malloc的 写了个简单程序,看看是不是楼主需要的 #include #incl ...

最新文章

  1. Linux系统下软件包管理四
  2. 后缀数组总结(转载)
  3. 人工智能与智能系统的先驱人物
  4. jodd-cache集锦
  5. python map用法_Python中ChainMap的一种实用用法
  6. 7-37 整数分解为若干项之和(20 分)
  7. 【海洋女神原创】谈谈静默安装
  8. Android 弹出 Toast 时取消上一个 Toast(完美方案)增加同步
  9. C++:究竟还有没有未来?
  10. 双向链表的常用基本操作
  11. python科学计算库-数值计算库与科学计算库
  12. 2021《考研数学接力题典1800》勘误表(附学霸高分笔记)
  13. cmd find 命令 多个 或者 关系 +windows_使用 rush 进行命令并行处理
  14. 三个学生开发的学术钓鱼软件,成功忽悠了整个学术圈
  15. CentOS6 配置 yum 阿里源
  16. 东财《自我认知与职业生涯规划》单元作业一二三
  17. Comsol软件入门基础教学
  18. 【ARM】迅为rk3568开发板buildroot添加桌面应用
  19. 【福利】【送书第四弹】机器学习知识体系
  20. halcon脚本-条形码识别【附源码】

热门文章

  1. 帝国cms php序号,帝国cms输出数字排序序号的列表
  2. 疫情传播SEIR模型(python)
  3. 传递矩阵的特征多项式
  4. 万顿思教育|拼多多账号异常无法处理运费怎么办?
  5. 告别笨重卡慢的PyCharm,使用Nodepad++ python编程
  6. java画乌龟_用java代码画乌龟,还要能让它爬。
  7. 雪碧图HTML人物,animateSprite-可控制雪碧图(sprites)动画的jQuery插件
  8. 【MME】Blood
  9. 华为 MA567x, 如何从电信系统切回华为系统
  10. 如何让MenuBar的菜单栏靠右对齐?