C语言中int short long 的具体区别是什么?

Python013

C语言中int short long 的具体区别是什么?,第1张

三种类型,在类型定义、占用字节数、数据范围等方面存在不同点。

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的整数。