人民大学bbs天地人大:在c语言中,整型变量int为什么占4个字节?float占4个字节?double占8个字节?(能详细说明一下吗)

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/30 06:38:28

int占多少个字节是由编译器决定的,ANSI标准定义int是占2个字节.
TC是按ANSI标准的,它的int是占2个字节的.
你可以在TC里试.printf("%d",sizeof(int));结果是2;
但是在VC里,一个int是占4个字节的,在VC里面,
printf("%d",sizeof(int));
cout<<sizeof(int);结果都是4.
不同的编译器,规定也不一样.
float,double也是一样的,在不同的编译器里,占的字节是不一样的.

占几个字节看系统
32位系统下一个字是32个bit,就是4个字节
16位系统下一个字是16个bit,2字节
64位系统类推

系统的“位数”就是系统中一个“字”所占bit数
字的大小与系统的cpu运算单位大小、寻址单位大小是一致的

C语言的一个int就是系统的一个“字”
float和double类似,他们的存储方式另有标准规定

int表示的数的范围是-2^15 - 2^15-1
有2^16个数,故要16bit,共2个字节
long型是-2^31-2^31-1
要32bit,共四个字节
估计你说的是long类型
sorry,:)
同理 float,double

16位的处理器中int 好像占2个字节吧?