C语言标准是这样规定的:int最少16位(2字节),long不能比int短,short不能比int长,具体位长由编译器开发商根据各种情况自己决定。在32位x86处理器上,short、int、long普遍的长度是2字节、4字节、4字节。

16位系统:long是4字节,int是2字节
32位系统:long是4字节,int是4字节
64位系统:long是4字节,int是4字节
在一般的电脑中,int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1]
在之前的微型机中,int占用2字节,16比特,数据范围为-32768~32767[-2^15~2^15-1]
使用printf输出int占用字节数量:
除了int类型之外,还有short、long、long long类型可以表示整数。
unsigned int 表示无符号整数,数据范围为[0~2^32-1]
编译器可以根据自身硬件来选择合适的大小,但是需要满足约束:short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。这即是说各个类型的变量长度是由编译器来决定的,而当前主流的编译器中一般是32位机器和64位机器中int型都是4个字节。
不能。1. 因为在C语言中,int类型只能取一个,也就是只能表示一个整数。2. 如果需要表示多个整数,可以使用数组或者结构体等数据结构,而不是使用单个int类型。
不同的语言对int的空间分配方案可能是不同的。对于低级一点语言,比如C语言来说,一个int,即整数所占据的字节数,是由编译器来决定的,比如16位编译器它占2个字节,32位和64位占4个字节,当然这也不是必然的,不同的编译器可能有着不同的空间分配结果,所以您需要使用sizeof运算符来获得实际的内存占用情况。
对于高级语言来说,比如JAVA,由于JAVA程序是运行在JAVA虚拟机,即JVM上的,它向下屏蔽了操作系统和硬件平台的底层细节,因此可以做到跨平台运行,并且固定分配int为4个字节。并且JAVA中不再区分有符号和无符号整数的情况。希望以上回答可以帮到您。