CPU机器字长和存储字长32位,存储空间为512MB,问地址总线与数据总线分别需要多少根?CPU字长64位,存储空间4GB呢?

结果是32k的寻址范围但是也寻址叻64k的内存,64k内存以字长编址的单元数为:32768个两字节单元

难道说1K并非指1024字节。

而是1024个存储单元存储单元为2字节时,1k为2048字节 

}

① C/C++规定int字长和机器字长和存储字長相同;

② 操作系统字长和机器字长和存储字长未必一致;

③ 编译器根据操作系统字长来定义int字长;

  由上面三点可知在一些没有操作系統的嵌入式计算机系统上,int的长度与处理器字长一致;有操作

系统时操作系统的字长与处理器的字长不一定一致,此时编译器根据操作系统的字长来定义int字长:"

比如你在64位机器上运行DOS16系统那么所有for dos16的C/C++编译器中int都是16位的;在64位机器上

常见基本类型的字节大小

*(即指针变量): 4个字节(32位机的寻址空间是4个字节。同理64位编译器)(变化*)

*(即指针变量): 8个字节

unsigned long: 8个字节(变化*其实就是寻址控件的地址长度数值)

除了*与long随操作系统子长变化洏变化外其他的都固定不变(32位和64相比)

}

我要回帖

更多关于 机器字长和存储字长 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信