关于int和long double字节大小的问题

luomioua 2003-08-26 10:56:40
我在vc.net里面编写一个控制台程序
cout<<sizeof(int) 结果为何是4?int的字节大小不是应该为2吗
cout<<sizeof(long double) 结果为何是8?long double不是应该是10字节吗

2和10是16位机的结果?4和8是32位机的结果?如果是这样,那4和8是怎样计算出来的
...全文
981 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzsummer 2003-10-14
  • 打赏
  • 举报
回复
int是4字节
double是8字节
没错啊,有什么疑问?
ahu9870 2003-08-26
  • 打赏
  • 举报
回复
首先,这应当是编译器的处理所导致的结果。

对vc,我认为数据的机器字长取决于编译指示中的目标代码类型,对于16位代码,编译器认为一个机器字长为16位,即2字节;而对于32位代码,编译器认为一个机器字长为32位,即4字节。我记得VC.NET已不支持16位代码的开发了,所以一个int型数据作为一个机器字必然是32位数据。对以后支持64位CPU架构的编译器,机器字长是64位,即8字节。



7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧