数据类型,cpu,编译器,操作系统之间的关系

大川搬砖 2013-10-14 10:29:57
一直很疑惑int类型为什么占用4个字节,是由什么决定的

cpu位数? 编译器? 操作系统?

...全文
888 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
YTerrenceLau 2013-10-18
  • 打赏
  • 举报
回复
楼主理解的没问题。
bluebai1231 2013-10-18
  • 打赏
  • 举报
回复
首先,跟操作系统和编译器毫无关系,跟不跟CPU有关系我不是很清楚,但是跟系统总线肯定有关系。系统总线是32位的,也就是32位机器,那么他读取一次就能读取到4字节的数据,所以在编程的时候一定要注意4字节对齐
大川搬砖 2013-10-15
  • 打赏
  • 举报
回复
可不可以这样理解,数据类型由编译器来决定,编译器想将int类型定义为几个字节就定义成几个字节,只要能够把代码“翻译”成正确的机器码(二进制文件)就可以了
YTerrenceLau 2013-10-15
  • 打赏
  • 举报
回复
int作为一种“数据类型”,可以认为是编译器决定的。 试想一下,long在ILP32数据模型下,是32bits,但在LP64数据模型下就是64bits了。 所以从根本上来说,可以理解为由编译器决定。 只是,通常来说,有些定制的编译器与处理器捆绑的比较紧,会产生幻觉。
bjtea 2013-10-14
  • 打赏
  • 举报
回复
我理解,int的本意是代表一个整型数,这个整型数可以用来描述、记录一个整形的数值。4字节基本满足了描述整形的需要、也较合适于计算(CPU和数据总线的宽度是8的倍数)、付出的内存代价也相对合适。所以选择int整形为4字节。

21,616

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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