准備工作
我們需要引入<limits.h>,其中
SHRT_MAX :short的最大值
INT_MAX :int的最大值
LONG_MAX :long的最大值
只要將它們用printf()打印出來就好了。
示例
#include <stdio.h>
#include <limits.h>
int main()
{
printf("max short int is: %d\n", SHRT_MAX);
printf("max int is: %d\n", INT_MAX);
printf("max long int is: %d\n", LONG_MAX);
return 0;
}
以下轉自百度百科:
要判斷某種特定類型可以容納的最大值或最小值,一種簡便的方法是使用ANSI標准頭文件limits.h中的預定義值。該文件包含一些很有用的常量,它們定義了各種類型所能容納的值,下表列出了這些常量:
常 量 描 述
CHAR_BIT > char的二進制位數(bit)
CHAR_MAX > char的有符號整數最大值
CHAR_MIN > char的有符號整數最小值
MB_LEN_MAX > 多字節字符的最大字節(byte)數
INT_MAX > int的有符號最大值
INT_MIN > int的有符號最小值
LONG_MAX > long的十進制最大值
LONG_MIN > long的十進制最小值
SCHAR_MAX > signedchar的十進制整數最大值
SCHAR_MIN > signedchar的十進制整數最小值
SHRT_MIN > short的十進制最小值
SHRT_MAX > short的十進制最大值
UCHAR_MAX > unsignedchar的十進制整數最大值
UINT_MAX > unsignedint的十進制最大值
ULONG_MAX > unsignedlongint的十進制最大值
USHRT_MAX > unsignedshortint的十進制最大值
對於整數類型,在使用2的補碼運算的機器(你將使用的機器幾乎都屬此類)上,一個有符號類型可以容納的數字范圍為[- 2^(位數-1) ]到[+ 2^(位數 -1)-1],一個無符號類型可以容納的數字范圍為0到(+ 2^位數 )。
例如,一個16位有符號整數可以容納的數字范圍為-2^15(即-32768)到(+2^15-1)(即+32767)。而16為無符號整數可容納的最大值為(2^位數-1)或表示為匯編形式0xffff。