C语言中数据类型可容纳数值的范围

C语言中数据类型可容纳数值的范围

在c语言中,仅由4中基本数据类型----整形、浮点型、指针和聚合类型(如数组和结构等)。所有其他的类型都是从这4种基本类型的某种组合派生而来。首先让我们来介绍整形和浮点型。

1.1 整形家族

整形家族包括字符、短整型、整形和长整型,他们都分为有符号(signed)和无符号(unsigned)两种版本。
听上去“长整型”所能表示的值应该比“短整型”所能表示的值要大,但这个假设并不一定正确。规定整形值相互之间大小的规则很简单:长整型至少应该和整形一样长,而整形至少应该和短整型一样长。
K&R C:
注意,标准并没有规定长整型必须比短整型长,只是规定它不得比短整型短。ANSI标准加入了一个规范,说明了各种整形值的最小允许范围,如下表所示。当各个环境间的可移植问题非常重要时,这个规范较之 K&R C 就是一个巨大的进步,尤其是在那些机器的系统结构差别极大的环境里。
变量的最小范围

类型最小范围
char0到127
signed-127到127
unsigned char0到255
short int-32767到32767
unsigned short int0到65535
int-32767到32767
long int-2147483647到2147483647
unsigned long int0到4294967295

short int 至少16位,long int至少32位。至于缺省的int究竟是16位还是32位,或者其他值,则由编译器器设计者决定。通常这个缺省值是这种机器最为自然(高效)的位数。同时你还应该注意到标准也没规定这3个值必须不一样。如果某种机器的环境子长是32位,而且没有什么指令能够更有效的处理更短的整形值,它可能把这3个整形值设定为32位。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值