码迷,mamicode.com
首页 > 编程语言 > 详细

C语言学习(第三天)

时间:2018-02-11 17:59:54      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:提升   最小   c语言   相同   分享   complex   ast   64位   计算   

1、整数类型扩展类型

  扩展类型是提升计算机在处理数据的速度和空间上的能力,不同类型在不同系统上的功能也不一样。

  可移植类型头文件:<stdint.h> ,C语言为现有类型创建更多的类型名,新的类型名都定义在<stdint.h>中;  

    移植:如 int32_t(精确宽度整数类型) 类型表示32位有符号整数类型,不管系统是多少位,int32_t类型定义的变量都是32位;

    空间:如 int_least8_t (最小宽度类型)类型表示一定是至少有8位有符号整数值(指定宽度)的最小整数类型,如果系统最小是16位,仍可定义,但实现位16位;

    速度:如 int_fast8_t (最快最小宽度类型)类型定义为系统中对8位有符号值而言运算速度最快的整数类型;

    更大数据类型:如 intmax (最大有符号整数类型)类型可存储任何有效的有符号整数值,类似的 unitmax 类型表示最大的无符号整数类型,这些类可能比 long long 和 unsigned long 更大;

  显示特定类型的字符串宏头文件: <inttypes.h>,如 PRId32 字符串宏代表打印32位有符号值的合适转换说明;

技术分享图片

 

2、浮点型数据类型

技术分享图片

  float 类型:至少能精确6位有效数字,取值范围至少是10-37--10+37,通常系统存储一个 float 类型占用32位,其中8位用于表示指数的值和符号,剩余部分表示非指数部分;

  double 类型:至少能精确13位有效数字,取值范围至少是10-37-- ~,通常系统存储一个 double 类型占用64位,一些系统将多的32位全部用来表示非指数部分,增加有效数位数,提高精度,一些系统则把一部分分配给指数部分,以容纳更大的数;

  long double 类型:满足比 double 更高的精度要求,不过C语言只保证 long double 至少与 double 的精度相同;

  浮点常量表示

    一般:-1.56E+12、2.87e-3

    无小数点:2E5

    无指数:15.89

    无小数部分:3.E12

    无整数部分:.45E-3

  系统默认浮点常量为 double 类型,加 f 或 F 后缀表示 float 类型,加 l 或 L 后缀表示 long double 类型;

  十六进制浮点型格式:即在十六进制数前加 0x 或 0X,用 p 或 P 分别代替 e 或 E,用2的幂代替10的幂,0xa.1fp10,a 表示十进制的10,1f 表示1/16 + 15/256,f 十进制是15,p10 是 210 或 十进制的1024,表示的值为(10 + 1/16 + 15/256)x 1024 = 10364.0;

  打印浮点值

    %f 打印十进制记数法的 float 和 double 类型;

    %e 打印指数记数法的浮点数;

    如果系统支持十六进制,%a 和 % A 代替 %e打印;

    打印 long double 使用 %Lf、%Le、%La;

  浮点值的上溢和下溢

技术分享图片

 

3、复数和虚数类型

  复数类型:float _Complex、double _Complex、long double _Complex 三种复数类型,每个类型值应该包括两部分,实数和虚数部;

  虚数类型:float _Imaginary、double _Imaginary、long double _Imaginary三种虚数类型;

  如果包含头文件 <complex.h> 可以用 complex 代替_Complex,imaginary 代替 _Imaginary,用 I(i 大写)代替 -1的平方根;

 

 

  

  

  

  

C语言学习(第三天)

标签:提升   最小   c语言   相同   分享   complex   ast   64位   计算   

原文地址:https://www.cnblogs.com/zitangkou/p/8442508.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!