[signed] int的范围是 -32768——32767即 -2^
15—— 2^
15-1(^是乘方号),
比特位数是16
unsigned int的范围是 0——65535即 0——2^
16-1,
比特位数是16
[signed] short [int]的范围是-32768——32767即 -2^
15—— 2^
15-1,
比特位数是16
unsigned short [int]的范围是 0——65535即 0——2^
16-1,
比特位数是16
long [int]的范围是 -2147483648——247483647即 -2^
31—— 2^
31-1,
比特位数是32unsigned long [int]的范围是 0——4294967295即 0——2^
32-1,
比特位数是32
注意每行红色字体的部分
附带说下:3楼的是正解
楼主如果还有什么不明白的建议去看看2进制和10进制之间的转换!
至于为什么C语言会采用一些2进制的标准,这和C语言自身有关
2进制是低级语言用的,特别是机器语言(汇编语言也是低级语言),因为C语言有一些汇编的功能,所以C语言也被叫作:中级语言。
楼主这些背景资料要弄清楚一下比较好