int占一个机器字长。在32位系统中int占32位,也就是4个字节,而在16位系统中,int占16位,即2个字节。C++标准只限制了short int不能超过int的长度,也可以说没什么大的不同 希望能帮到你
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的长度,具体也没有作出限制。
基本型 int 2字节 -32768~32767
短整型 short 2字节 -32768~32767
同样的长度以及范围
(1)C/C++规定int字长和机器字长相同;
(2)操作系统字长和机器字长未必一致;
(3)编译器根据操作系统字长来定义int字长;
整形变量是不是32位这个问题不仅与具体的CPU架构有关,而且与编译器有关,所以int可以为32为或16为,而short为短整型变量,只能为16位
例如:short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。
int是是4个字节 short是2个字节
short int 的长度 不大于int 的长度,你可以用sizeof(int) 和 sizeof(short int)看 他们的大小。