c语言中,int和short int的区别,好像他们的取值范围相同啊

2024-11-24 06:23:04
推荐回答(5个)
回答1:

int占一个机器字长。在32位系统中int占32位,也就是4个字节,而在16位系统中,int占16位,即2个字节。C++标准只限制了short int不能超过int的长度,也可以说没什么大的不同 希望能帮到你

回答2:

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的长度,具体也没有作出限制。

回答3:

基本型 int 2字节 -32768~32767
短整型 short 2字节 -32768~32767

同样的长度以及范围

(1)C/C++规定int字长和机器字长相同;
(2)操作系统字长和机器字长未必一致;
(3)编译器根据操作系统字长来定义int字长;
整形变量是不是32位这个问题不仅与具体的CPU架构有关,而且与编译器有关,所以int可以为32为或16为,而short为短整型变量,只能为16位

回答4:

例如: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个字节

回答5:

short int 的长度 不大于int 的长度,你可以用sizeof(int) 和 sizeof(short int)看 他们的大小。