我手里的一本谭浩强的C语言上说,这两种变量在内存中都是用两字节来表示。可表示的数字范围都是-32767——37678。
有点糊涂,那为什么还要把两种变量分开呢??
1、占用字节根据机型不同会有不同:
在一般的电脑中,int占用4字节,32比特,在之前的微型机中,int占用2字节,16比特。在32位平台下如windows(32位)中short一般为16位。
2、数值范围不同:
int在一般的电脑中,数据范围为-2147483648~2147483647[-2^31~2^31-1],在之前的微型机中,int数据范围为-32768~32767[-2^15~2^15-1]。C++ & C short为一种数据类型,范围-32768~+32767。
扩展资料:
整型数据的其它分类:
1、长整型:类型说明符为long int或long,在内存中占4个字节。
2、无符号型:类型说明符为unsigned。无符号型又可与上述三种类型匹配而构成:
3、无符号基本型:类型说明符为unsigned int或unsigned。
4、无符号短整型:类型说明符为unsigned short。
5、无符号长整型:类型说明符为unsigned long。
short长度规则:依据程序编译器的不同short定义的字节数不同。标准定义short短整型变量不得低于16位,即两个字节。编译器头文件夹里面的limits.h定义了short能表示的大小:SHRT_MIN~SHRT_MAX。在32位平台下如windows(32位)中short一般为16位。
参考资料来源:百度百科-INT
参考资料来源:百度百科-short
一、字节数不同
1、int:int占用32字节,32比特。
2、short:短整型变量不得低于16位,即两个字节。
二、范围不同
1、int:数据范围为-2147483648~2147483647[-2^31~2^31-1]。
2、short:数据范围为范围-32768~+32767。
三、特点不同
1、int:除了int类型之外,还有short、long、long long类型可以表示整数。
2、short:依据程序编译器的不同short定义的字节数不同。
参考资料来源:百度百科-short
参考资料来源:百度百科-INT
本回答被网友采纳C++标准规定,int占一个机器字长。在32位系统中int占32位,也就是4个字节,而在老式的16位系统中,int占16位,即2个字节。而C++标准中只限制规定short int不能超过int的长度,具体长度的可以由C++编译器的实现厂商自行决定。目前流行的32位C++编译器中,通常int占4字节,short int占2字节。其中short int可以简写为short。类似地,C++标准只限制了long int不得小于int的长度,具体也没有作出限制。