为什么16位系统下short int和int所占字节数是一样的2个字节,而在
2个回答
展开全部
在32位机上,int通常是32位;在16位机上,int通常是16位(由编译器决定,而编译器通常是根据代码运行的目标机来决定)。 long int在上述两种机器上通常都是32位。
所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):
1 sizeof(short int)<=sizeof(int)
2 sizeof(int)<=sizeof(long int)
3 short int至少应为16位(2字节)
4 long int至少应为32位。
TC里面 int 就是 2个字节,而VC++里面就是4个字节,gcc里面也是4个字节。
还有long long int 在TC里面是 4 个字节,gcc里面是 8 个字节。
所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):
1 sizeof(short int)<=sizeof(int)
2 sizeof(int)<=sizeof(long int)
3 short int至少应为16位(2字节)
4 long int至少应为32位。
TC里面 int 就是 2个字节,而VC++里面就是4个字节,gcc里面也是4个字节。
还有long long int 在TC里面是 4 个字节,gcc里面是 8 个字节。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询