您的位置:首页 > 编程语言 > C语言/C++

C语言确定int short long的最大值

2015-08-21 09:06 357 查看
我们知道C语言中的int short long等类型,不像Java一样具体规定了范围大小,32位系统和64位系统不同,那我们在开发时该怎么确定这些类型的最大值呢?

1、只需一小句代码,如下:

printf("%d\n", ~(unsigned int)0 / 2);


分析:

当无符号0以二进制储存在内存中的时候,每一位都为0,以32位int为例,(unsigned int)0的二进制为:

00000000000000000000000000000000

按位取反(~)后,变成:

11111111111111111111111111111111

此时的十进制为:

4294967295

除以2(因为int类型中有一半表示负数且比正数多一个)之后为:

2147483647

即为32位int类型最大值。

在测试时,发现这种方法只对int类型有用,short和long不能采用该方法,那这两者该如何确定最大值呢?

2、需要引入
<limits.h>


SHRT_MAX :short的最大值

INT_MAX :int的最大值

LONG_MAX :long的最大值

只要将它们用printf()打印出来就好了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: