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(数据类型)_百度百科
参考技术Aint占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位)。
不过现在常用的编译器多认为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占多少字节?的主要内容,如果未能解决你的问题,请参考以下文章