2014-C语言基本数据类型

K&R C 标准中并没有规定长整数一定比短整数长,但是规定一定不能比短整数短,即 long 和 short 在K&R C标准中,可以一样长

而在ANSI标准有一个进步,出于可移植性的考虑,明确了各种整型数据类型的最小容纳范围,但对于浮点数没有太多的要求,只规定:

  • long double 至少和 double一样长
  • double至少和 float一样长
  • 且所有浮点数都能容纳10-37—1037之间的任何值

基于标准,C语言的基本数据类型的真正的长度是由宏定义确定的

  • 头文件 limits.h 通过宏定义说明了char、short、int、long 变量范围的限制



  • 头文件 float.h(这个有兴趣可以自己看下,看了几眼有点晕)

这样就有:

  • 内存占用位数如下:
    • char:8bits
    • int: 32bits
    • short int:16bits
    • long int 
      • 64位:64bits
      • 32位:32bits

    • float:32bits
    • double:64bits


  • 最小容纳范围如下:
    • unsigned char: 0到255
    • signed char:-128到127

    • unsigned int:0到4294967295
    • signed int:-2147483648到2147483647

    • unsigned short int:0到65535
    • signed short int:-32768到32767

    • unsigned long int:
      • 64位:0到18446744073709551615
      • 32位:0到4294967295
    • signed long int:-9223372036854775808到9223372036854775807

    • unsigned long long int:0到18446744073709551615



  • 至于 char、short、int、long int 要看编译器默认编译成 unsigned 还是 signed 了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值