在c语言中,整型变量int为什么占4个字节?float占4个字节?double占8个字节?(能详细说明一下吗)
答案:5 悬赏:20 手机版
解决时间 2021-03-06 09:00
- 提问者网友:温旧梦泪无声
- 2021-03-05 18:11
在c语言中,整型变量int为什么占4个字节?float占4个字节?double占8个字节?(能详细说明一下吗)
最佳答案
- 五星知识达人网友:廢物販賣機
- 2021-03-05 18:51
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也是一样的,在不同的编译器里,占的字节是不一样的.
TC是按ANSI标准的,它的int是占2个字节的.
你可以在TC里试.printf("%d",sizeof(int));结果是2;
但是在VC里,一个int是占4个字节的,在VC里面,
printf("%d",sizeof(int));
cout<<sizeof(int);结果都是4.
不同的编译器,规定也不一样.
float,double也是一样的,在不同的编译器里,占的字节是不一样的.
全部回答
- 1楼网友:拾荒鲤
- 2021-03-05 22:28
占几个字节看系统
32位系统下一个字是32个bit,就是4个字节
16位系统下一个字是16个bit,2字节
64位系统类推
系统的“位数”就是系统中一个“字”所占bit数
字的大小与系统的cpu运算单位大小、寻址单位大小是一致的
C语言的一个int就是系统的一个“字”
float和double类似,他们的存储方式另有标准规定
- 2楼网友:山河有幸埋战骨
- 2021-03-05 22:07
int只有2个字节吧
这跟精度有关吧
精度越高所占字节越多
双精度是最高的
- 3楼网友:春色三分
- 2021-03-05 21:02
int表示的数的范围是-2^15 - 2^15-1
有2^16个数,故要16bit,共2个字节
long型是-2^31-2^31-1
要32bit,共四个字节
估计你说的是long类型
sorry,:)
同理 float,double
- 4楼网友:傲气稳了全场
- 2021-03-05 20:01
在不同的环境下同样的类型所占的字节是不同的,但是一定要保证char<=shot<=int,shot<=int<=float,int<=float<=double,只要保证这点就是正确的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯