鱼C论坛

 找回密码
 立即注册
查看: 3095|回复: 1

关于实验5,(2)题第4小问,,鱼哥的解答不完整。。

[复制链接]
发表于 2011-3-5 20:38:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
对于如下定义的段:
name segment
...
name ends
如果段中的数据占N个字节,则程序加载后, 该段实际占有的空间为____。

小甲鱼老师视频中讲的答案是,,( N / 16 + 1) * 16..
但是如果段中的字节数是16,32,,,等16的倍数呢。。岂不是16个字节要用( 16 / 16 + 1) * 16 = 32个字节。。

所以我觉得应该分为N能被16整除和不能被16整除的情况..
1,当N能被16整除时:占有的空间是( N / 16) * 16..
2,当N不能被16整除时:占有的空间才是( N / 16 + 1 ) * 16..
综合上面两个情况,,通式应该是 ( ( N + 15 ) / 16 ) * 16,,

个人见解。。不知道有没有讲错。。请指教。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-3-5 22:18:29 | 显示全部楼层
其实这个就是解释CPU分配内存单元的原则.
比如name段1个字节和15,或者16个字节CPU都会分配16个字节空间.
而定义17个字节,CPU就分配2*16个字节空间.到32字节为止都一样.

简单说,就是不满16照样给16.分配总是16个字节为一个单元分配.
应该没说错吧.我也是初学.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-27 17:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表