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字节