在這里引用一下百度某網友的解釋:
問:
C++中int的范圍是多少?為什么我試了最大可以達到2^31-1呢?不應該是最大32767嗎?
答:
在標准C++中的int的字節長度小於long大於short就行了,多數平台上int占4個字節(32位,不是16位!),所以能表示的范圍就是2的32次方,表示為數值是-2^(32-1) ~ 2^(32-1) -1 ( ^ 表示成方 )(就是 -2^31 ~ 2^31 - 1, 而不是2^16...)
根據不同的需要,int包括以下定義:
unsigned short int 無符號2字節短整形
short int 帶符號2字節短整形 - 32768 ~ 32767
unsigned int 無符號4字節整形 0 ~ 2^32 -1 (這個是對的)
int 4字節整形 - 2^31 ~ 2^31 - 1
int 64 64位(8字節)整形 - 2^63 ~ 2^63 - 1 (這個很少用到,一般是表示為高位int和低位int)