标签:
1、只需一小句代码,如下:
printf("%d\n", ~(unsigned int)0 / 2);
分析:
当无符号0以二进制储存在内存中的时候,每一位都为0,以32位int为例,(unsigned int)0的二进制为:
00000000000000000000000000000000
按位取反(~)后,变成:
11111111111111111111111111111111
此时的十进制为:
4294967295
除以2(因为int类型中有一半表示负数且比正数多一个)之后为:
2147483647
即为32位int类型最大值。
2、需要引入 <limits.h>
SHRT_MAX :short的最大值
INT_MAX :int的最大值
LONG_MAX :long的最大值
只要将它们用printf()打印出来就好了。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/pwiling/article/details/47829245