c语言中int与long的区别

int和long的范围及其他区别

    早期的操作系统是16位系统,

    int用二字节表示,范围是-32768~32767;

    long用4字节表示,范围是-2147483648~2147483647。

    后来发展到32位操作系统,

    int 用4字节表示,与long相同。

    目前的操作系统已发展到64位操作系统,但因程序编译工艺的不同,两者表现出不同的差别:

      32位编译系统:int占四字节,与long相同。

      64位编译系统:int占四字节,long占8字节,long数据范围变为:-2^63~2^63-1

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-23
早期的C平台是16位int系统,int用二字节表示,范围是-32768~+32767;long是long int的简写,用4字节表示,范围是-2147483648~+2147483647。显然在早期平台下long能表示的整数范围要比int大得多。而时下的平台流行的是32位int系统,即4字节系统,int与long在这样的系统下已经没有区别了,它们都是4字节带符号整数,表数范围都是-2147483648~+2147483647。
第2个回答  推荐于2016-11-16
标准中规定int型必需16位或更高,long型必需32位,在以前16位机时这两种数据就是一个16bit一个32bit,但进入x86时代后实际上两者都是32位的,int型一般和本回答被提问者和网友采纳
第3个回答  2011-12-31
long是4字节,int是2字节或4字节,现在一般的int都是4字节,除非一些比较老的编译器中才是2字节
第4个回答  2015-09-10
数据范围不一样
int -2^31~2^31-1
long long -2^63~^63-1