2024年6月15日发(作者:)
整数是编程中常用的一种数据,C语言中有三种整数类型,分别
为 short、int 和 long。int 称为整型,short 称为短整型,long 称
为长整型,它们的长度(所占字节数)关系为:
short <= int <= long
它们具体占用几个字节C语言并没有规定,C语言只做了宽泛的
限制:
short 至少占用2个字节。
int 建议为一个机器字长。32位环境下机器字长为4字节,64
位环境下机器字长为8字节。
short 的长度不能大于 int,long 的长度不能小于 int。
这就意味着,short 并不一定真的”短“,long 也并不一定真的”
长“,它们有可能和 int 占用相同的字节数。决定整数长度的因素很
多,包括硬件(CPU和数据总线)、操作系统、编译器等。
在16位环境下,short 为2个字节,int 为2个字节,long 为
4个字节。16位环境多用于单片机和低级嵌入式系统,在PC和服务器
上基本都看不到了。
对于32位的 Windows、Linux 和 OS X,short 为2个字节,int
为4个字节,long 也为4个字节。PC和服务器上的32位系统占有率
也在慢慢下降,嵌入式系统使用32位越来越多。
在64位环境下,不同的操作系统会有不同的结果,如下所示(长
度以字节计):
操作系统
short
int
long
Win64
16
32
32
类Unix系统(包括 Unix、Linux、OS X、BSD、Solaris 等)
16
32
64
目前我们使用较多的PC系统为 Win XP、Win 7、Win 8、Win 10、
Mac OS X、Linux,short 和 int 的长度都是固定的,大家可以放心
使用,long 的长度在 Win64 和类Unix系统下会有所不同,使用时要
注意移植性。
获取某个数据类型的长度可以使用 sizeof 操作符,如下所示:
#include
int main()
{
short a=10;
int b=100;
long c=1000;


发布评论