三种类型,在类型定义、占用字节数、数据范围等方面存在不同点。
1、定义不同
int类型称为整型;
short类型称为短整型;
long类型称为长整型;
2、占用字节数不同
short int型变量两个字节(两个字节);
int类型四个字节(32位机中);
long int取值为8个字节(32位机中);
3、数据范围不同
short int型变量取值为-(2的16次方)+1 到 (2的15次方)-1;
int类型变量取值为-(2的32次方)+1 到 (2的31次方)-1;
long类型变量取值为-(2的64次方)+1 到 (2的63次方)-1;
扩展资料
1、具体占用几个字节C语言并没有规定,C语言做了宽泛的限制:
1)、short int类型至少占用2个字节。
2)、int类型建议为一个机器字长。32位环境下机器字长为4字节,64位环境下机器字长为8字节。
3)、short类型的长度不能大于 int,long类型的长度不能小于 int。
参考资料
百度百科-C语言
在C语言中,short x=0xafffc的值为-12。在C语言中,short是一种整型数据类型,它用于定义16位的整数变量。这个整数可以是正数、负数或零。在本例中,变量x的值为0xafffc,这是一个16位的十六进制整数,其值为-12。
#include <stdio.h>
int main()
{
short x = 0xafffc
printf("x的值是:%d\n", x)
return 0
}
在上面的代码中,我们定义了一个short类型的变量x,并将它的值设置为0xafffc。然后,我们使用printf函数来输出变量x的值,并结束程序。程序运行结果如下:
x的值是:-12
short是有符号数,计算机中为方便计算以补码的形式存在。其中最高数据位表示符号,1表示负数,0表示正数。如果规则只是这样,那么0的表示方式就有两种1000
0000
0000
0000和0000
0000
0000
0000,
按照这种规则的话,正如你所说全1就是最小了,但是0有两种表示方式,所以把1000
0000
0000
0000单独规定为
全1小1的整数。