注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

一粒浮尘

飘渺虚无

 
 
 

日志

 
 

C语言的标准库——C也有复数类型  

2013-07-13 22:17:17|  分类: c/c++ Programmin |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
http://en.cppreference.com/w/c

昨天无聊,在这个网站上看C的库,居然看到有些标准下的C语言也提供了复数的数学库。之前一直以为C是不支持复数运算的,毕竟只用在只有实数的情况下,推广到复数的运算是一件很简单的事情,比如利用结构体来定义复数类型的变量,再定义一些简单的函数来完成复数所允许的基本运算,比如复数的相加相减,相乘相除,都是很容易实现的。只不过是对实数而言的基本操作符在使用复数的时候要改变成刚才提到的简单的函数(完成基本的运算)。

上面说到的标准,其实指的是编译器,网站上也说了,如果所使用的编译器定义了__STDC_NO_COMPLEX__,那么用这个编译器的话就没法使用复数库<complex.h>了。我在自己的机器上的ubuntu12.04系统中的确找到了complex.h这个头文件,但是没有去找找有没有那个宏定义。不管有没有,其实都没什么影响了,早已经习惯了没有复数的C了,如果突然多出来这么一个新的数据类型,编程时也未必会去使用的。
------------------------------------------------------------------------------------------------------------------------------------------------------------

The header <complex.h> defines macros and declares functions that support complex number arithmetic. Complex values are values of type double complex, float complex, long double complex,

If the macro constant __STDC_IEC_559_COMPLEX__(C99) is defined by the compiler, in addition to the complex types, the imaginary types are also supported: double imaginary, float imaginary, and long double imaginary. When a value of imaginary type is converted to a value of complex type, the resulting complex type has its real component set to zero. When a value of complex type is converted to a value of imaginary type, the real component is discarded.

Standard arithmetic operators +, -, *, / can be used with real, complex, and imaginary types in any combination.

If the macro constant __STDC_NO_COMPLEX__(C11) is defined by the compiler, the header <complex.h> and all of the names listed here are not provided.

  评论这张
 
阅读(2202)| 评论(3)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017