int占多少字节?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了int占多少字节?相关的知识,希望对你有一定的参考价值。

int有short int,int,long int三种形式,它们分别占多少字节?如果只输入int,它是不是可以包含以上三种形式?

在C/C++语言中,int和long int的所占的字节数与编译器有关。

不过现在常用的编译器多认为int和long int相同,均为4字节,short为2字节,char为1字节。

如果只输入int,它是可以包含以上三种形式。

不同的语言不太一样,例如在Pascal中integer为2字节,byte为1字节,而longint为4字节。

建议您最好参考您的编译器的具体帮助,以得到更准确的信息。

使用前最好sizeof(int) 看看当前编译器如何定义的。

依据程序编译器的不同,int定义的字节数不同。(数据占用内存储器的大小不同)

常用的单片机编译器,如KEIL下,51类单片机的C语言中,int代表2个字节(16位);如果是32位RAM处理器的C语言中,则int代表4个字节(32位)

PIC单片机的PICC中8位系列单片机的C语言里int表示16位。

而不少PC端软件的编译器则会根据操作系统或处理器(如64位XP)把int定义为8字节(64位)

所以在多平台上编程的人员需要在使用时注意。

如需定义16位数,可使用short(短、短整数类型)定义。

扩展资料:

在一般的电脑中,int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1]。

在之前的微型机中,int占用2字节,16比特,数据范围为-32768~32767[-2^15~2^15-1]。

使用printf输出int占用字节数量:

除了int类型之外,还有short、long、long long类型可以表示整数。

unsigned int 表示无符号整数,数据范围为[0~2^32-1]。

参考链接:INT(数据类型)_百度百科

参考技术A

int占4个字节。

常用单片机,short和int型至少为16位,long型至少为32位,并且short型长度不能超过int型,而int型不能超过long型。这即是说各个类型的变量长度是由编译器来决定的,而当前主流的编译器中一般是32位机器和64位机器中int型都是4个字节。

扩展资料:

Int是将一个数值向下取整为最接近的整数的函数。INT是数据库中常用函数中的取整函数,常用来判别一个数能否被另一个数整除。

在编程语言(C、C++、C#、Java等)中,常用于定义整数类型变量的标识符。
在一般的电脑中,int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1];

在之前的微型机中,int占用2字节,16比特,数据范围为-32768~32767[-2^15~2^15-1];

使用printf输出int占用字节数量:

printf("%d",sizeof(int));

除了int类型之外,还有short、long、long long类型可以表示整数。

unsigned int 表示无符号整数,数据范围为[0~2^32-1]。

参考资料来源:百度百科——int(数据类型)

参考技术B int有时候占4个字节(在Win32),有时候占2个字节(在DOS)
这和操作系统的位数有关,一个int的大小是操作系统的一个字长
TC是16位系统程序,所以int是16bit业就是两个字节
在32位linux和32位Windows下,都是4个字节,也就是目前最常用的VC和gcc结果。
参考技术C

int有时候占4个字节(在Win32),有时候占2个字节(在DOS)  。

这和操作系统的位数有关,一个int的大小是操作系统的一个字长。

TC是16位系统程序,所以int是16bit就是两个字节。

在32位linux和32位Windows下,都是4个字节,也就是目前最常用的VC和gcc结果。

依据程序编译器的不同,int定义的字节数不同。

常用的单片机编译器,如KEIL下,51类单片机的C语言中,int代表2个byte(16位);如果是32位ARM处理器的C语言中,则int代表4个byte(32位)

PIC单片机的PICC中8位系列单片机的C语言里int表示16位。

而不少PC端软件的编译器则会根据操作系统或处理器(如64位XP)把int定义为8 byte(64位)。

参考技术D 在C/C++语言中,int和long int的所占的字节数与编译器有关。

不过现在常用的编译器多认为int和long int相同,均为4字节,short为2字节,char为1字节。

如果只输入int,它是可以包含以上三种形式。

不同的语言不太一样,例如在Pascal中integer为2字节,byte为1字节,而longint为4字节。

建议您最好参考您的编译器的具体帮助,以得到更准确的信息。

使用前最好sizeof(int) 看看当前编译器如何定义的。

依据程序编译器的不同,int定义的字节数不同。(数据占用内存储器的大小不同)
常用的单片机编译器,如KEIL下,51类单片机的C语言中,int代表2个字节(16位);如果是32位RAM处理器的C语言中,则int代表4个字节(32位)
PIC单片机的PICC中8位系列单片机的C语言里int表示16位。
而不少PC端软件的编译器则会根据操作系统或处理器(如64位XP)把int定义为8字节(64位)
所以在多平台上编程的人员需要在使用时注意。
如需定义16位数,可使用short(短、短整数类型)定义。

扩展资料:

在一般的电脑中,int占用4字节,32比特,

枚举占多少字节?

网上暂时只找到了这种描述:

  标准C并没有明确规定枚举类型占用空间的大小,标准中只是说“枚举类型的尺寸是以能够容纳最大枚举子的值的整数的尺寸”,同时标准中也说明了:“枚举类型中的枚举子的值必须要能够用一个int类型表述”,也就是说,枚举类型的尺寸不能够超过int类型的尺寸,但是是不是必须和int类型具有相同的尺寸呢?上面的标准已经说得很清楚了,只要能够容纳最大的枚举子的值的整数就可以了,那么就是说可以是char、short和int。”不同的C编译器,对enum类型的大小作了不同的定义,而程序员是不能认为的修改枚举类型占用空间的。

  今天工作用到了,想查一下枚举类型占多少个字节,但是网上没有找到确切的答案,可能还是因为用枚举的人比较少吧,自己测试了一下发现。

技术分享图片

(1)枚举的大小是按照enum中元素最大值所占的内存大小来决定的,不像结构体那样有多少个元素就按各个元素所占字节叠加。

(2)当上图中的one的值小于1000000000(9个0)时,打印出来的sizeof(test)就是4个字节的,如下图。

技术分享图片

(3)当one的值大于等于10000000000(10个0)时,打印出来的sizeof(test)就是8个字节的,如下图。

技术分享图片

(4)当one的值大于10000000000(10个0)后,无论再怎么增加,打印出来的sizeof(test)保持8个字节,不会增多。

 

  可见枚举类型的大小会随着其中的元素的大小而发生变化,虽然几乎没有人会用这么大的数来作为枚举,但起码我们得知道枚举类型字节数的大小是有可能发生改变的,所以到程序中有数据需要和别的程序进行交流,譬如上位机和下位机的通信数据,就尽量不要在数据包中包含有枚举类型,以免发生歧义。

 

以上是关于int占多少字节?的主要内容,如果未能解决你的问题,请参考以下文章

python2.7中一个float 占多少字节

在CC++中char short int各占多少个字节

32位和64位系统,C语言中char,short,int,long,char*,int*,int**各占多少字节

枚举占多少字节?

Java 中,数字,汉字,英文字母,...占多少字节

intcharlong各占多少字节数