关于C语言中的Complex(复数类型)和imaginary(虚数类型)

其实这里的复数complex就是数学里的复数,包含实部和虚部两个部分,比如:x=2.1+6i,下面进行详细介绍。

C99 新增了复数类型(_Complex)和虚数类型(_Imaginary)。简单来说,C99 提供了三种复数类型:float _Complex,double _Complex,和 long double _Complex。对于 float _Complex类型的变量来说,它包含两个 float类型的值,一个用于表示复数的实部(real part),另一个用于表示虚部(imaginary part)。类似地,double _Complex 包含两个 double类型的值。C99 也提供了三种虚数类型:float _Imaginary,double _Imaginary,以及 long double _Imaginary。虚数类型只有虚部,没有实部。

包含标准头文件 complex.h 后,我们就可以用 complex来代表 _Complex,用imaginary来代表 _Imaginary,以及用 I来代表虚数单位 i,也就是 -1的平方根。例如:

#include <complex.h>

double _Complex x = 5.2;

double complex y = 5.0 * I;

double complex z = 5.2 – 5.0 * I;

注意:_Complex类型对于独立式环境(freestanding environment)来说是可选的。可选的意思是,不强制必须支持这种类型。而所谓独立式环境,是指 C 程序可以在没有操作系统的情况下运行。_Imaginary类型在任何环境下都是可选的。目前的编译器对这两种类型的支持都不太好,在此就不对这两种类型进行更深入的讨论了

转自http://blog.csdn.net/zxxssdsd/article/details/9948817,仅个人学习使用。

关于C语言中的Complex(复数类型)和imaginary(虚数类型)的更多相关文章

  1. C++ c++与C语言的区别(struct类型的加强,函数-变量类型加强,bool类型)

    //区别④:struct类型的加强(C++版本) #include<iostream> using namespace std; //C++中的struct是一个新类型的定义声明 //c+ ...

  2. (七)C语言中的void 和void 指针类型

    许多初学者对C中的void 和void 的指针类型不是很了解.因此常常在使用上出现一些错误,本文将告诉大家关于void 和void 指针类型的使用方法及技巧. 1.首先,我们来说说void 的含义: ...

  3. c语言中register类型的变量

    C语言中: 一.register变量 关键字regiter请求编译器尽可能的将变量存在CPU的寄存器中.有以下几点注意的地方. register变量必须是能被CPU寄存器所接受的类型,这通常意味着re ...

  4. C语言中float,double类型,在内存中的结构(存储方式)

    C语言中float,double类型,在内存中的结构(存储方式)从存储结构和算法上来讲,double和float是一样的,不一样的地方仅仅是float是32位的,double是64位的,所以doubl ...

  5. Java 语言中 Enum 类型的使用介绍

    Enum 类型的介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常 ...

  6. C语言中malloc函数返回值是否需要类型强制转换问题

    1. 在C语言中, 如果调用的函数没有函数原型, 则其返回值将默认为 int 型. 考虑调用malloc函数时忘记了 #include <stdlib.h>的情况 此时malloc函数返回 ...

  7. Number (float bool complex)浮点型、bool 布尔型 True、False 、complex 复数类型

    # Number (float bool complex) # ### float 浮点型 就是小数 # (1) 表达形式一 floatvar = 3.14 print(floatvar) #获取类型 ...

  8. c语言中enum类型的用法

    11.10 枚举类型 在实际问题中,有些变量的取值被限定在一个有限的范围内.例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等.如果把这些量说明为整型,字符型或其它类型显然是不妥当的 ...

  9. C语言中,头文件和源文件的关系(转)

    简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句, ...

随机推荐

  1. Mysql中谓词使用date_format的优化

    优化前: SELECT a.* FROM t1 a, (SELECT obj_id,MAX(PRE_DETAIL_INST_ID) PRE_DETAIL_INST_ID FROM t1 WHERE D ...

  2. 两个不错点电影ED2000资源

    http://simplecd.me/ http://www.ed2000.com/ http://www.2tu.cc/ http://www.mp4ba.com/ http://www.ddyy. ...

  3. emacs之配置4,颜色插件

    来自https://github.com/oneKelvinSmith/monokai-emacs/blob/master/monokai-theme.el monokai-theme.el ;;; ...

  4. Linq模型ObjectContext下查看Sql语句。

    ObjectContext 并没有提供 LINQ to SQL DataContext.Log 这样的功能,要查看实际生成的 T-SQL 语句,要么借助 SQL Server Sql Profiler ...

  5. Flask 模板语法

    Flask中默认的模板语言是Jinja2 STUDENT = {'name': 'Old', 'age': 38, 'gender': '中'}, STUDENT_LIST = [ {'name': ...

  6. [置顶] linux c常用函数 (待完善)

    (1)字符测试函数 isalnum(测试字符是否为英文字母或数字) isalpha(测试字符是否为英文字母) isascii(测试字符是否为ASCII码字符) isblank(测试字符是否为空格字符) ...

  7. windows7配置Nginx+php+mysql的详细教程

    windows7配置Nginx+php+mysql的详细教程 作者:Vincent.李 字体:[增加 减小] 类型:转载 时间:2016-09-04我要评论 这篇文章主要介绍了windows7配置Ng ...

  8. 个人tools封装

    /** * jQuery 扩展 */(function ($) { $.fn.extend({ /** * 目标为任意对象元素 * 同时绑定单击和双击事件 */ bindClick: function ...

  9. android 学习 之 布局(上)

    学习安卓布局前,先了解三个属性值: 1.fill_parent: 设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间 2.match_parent: And ...

  10. MySQL函数及用法示例

    (一) 1.字符串函数ascii(str)    返回字符串str的第一个字符的ascii值(str是空串时返回0)   mysql> select ascii('2');   -> 50 ...