早期的操作系统是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
早期的C平台是16位int系统,int用二字节表示,范围是-32768~+32767;long是long int的简写,用4字节表示,范围是-2147483648~+2147483647。显然在早期平台下long能表示的整数范围要比int大得多。而时下的平台流行的是32位int系统,即4字节系统,int与long在这样的系统下已经没有区别了,它们都是4字节带符号整数,表数范围都是-2147483648~+2147483647。
标准中规定int型必需16位或更高,long型必需32位,在以前16位机时这两种数据就是一个16bit一个32bit,但进入x86时代后实际上两者都是32位的,int型一般和
long是4字节,int是2字节或4字节,现在一般的int都是4字节,除非一些比较老的编译器中才是2字节
数据范围不一样
int -2^31~2^31-1
long long -2^63~^63-1