在C语言中,int类型、long类型、float类型、double类型和char类型数据,在16位和32位计算机中各占几个字节

基本整形:int 2个字节
短整型:short int 2个字节
长整形:long int 4个字节
无符号整形:unsigned int 2个字节
无符号短整型: unsigned short int 2个字节
无符号长整形:unsigned long int 4个字节
单精度 float 4个字节 有效数字7位
双精度 double 8个字节 有效数字16位
字符型 char 1个字节
以上是在16位计算机系统中,32位的加倍。

如果实在不相信,可以用sizeof函数验证一下,方法如下
#include“stdio.h”
main()
{
int m;
m=sizeof(数据类型);
printf(“%d",m);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-06
其实这个占几个字节跟多少位系统根本没什么关系,这主要是编译器决定的,比如int TC是2个字节,vc6.0就是4个字节,再说个标准,C语言一般遵循ANSI标准,他只规定short<=int<=long,具体是多少个字节就由编译器决定了
第2个回答  2013-03-30
标准答案:
在TC中, 在VC中:
类型 宽度 字节 类型 宽度 字节
int 16 2 int 32 4
unsigned int 16 2 unsigned int 32 4
short 16 2 short 16 2
unsigned short 16 2 unsigned short 16 2
long 32 4 long 32 4
unsigned long 32 4 unsigned long 32 4
另外,C语言的浮点数常量在机器中有单精度和双精度之分,单精度以32位形式存放,双精度以64位形式存放。字符型变量在机器中占8位,也就是1个字节(8 bit=1 byte)。详见下表:
类型 宽度 字节
float 32 4
double 64 8
char 8 1本回答被网友采纳
第3个回答  推荐于2017-11-24
不要误人子弟啊
搞清楚再贴出来追问

那你的答案是啥呢?

追答

16位
2,4,4,8,1
32位
4,4,4,8,1

可以写个程序测试一下

本回答被提问者采纳
第4个回答  2011-05-30
16位为 2 4 4 8 1
32 4 4 4 8 1
相似回答