0
点赞
收藏
分享

微信扫一扫

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


参考:​​https://www.52pojie.cn/thread-1236433-1-1.html​​

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

题目:

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

网上有两种答案:

(N/16+1)*16

ceil(N/16)*16

这两种都是正确的。且听我解释,这是因为二者最后得出的结果是一样的!

第一种的(N/16+1)*16,是向下取整!

第二种的 :ceil(N/16)*16 是向上取整!

就一些例子演示:

第一种:(N/16+1)*16

16/16=1,则实际占有的空间为0+16

6/16<1,取0*16,则实际占有的空间为0+16

 26/16<1,1.625,取1*16,则实际占有的空间为16+16

第二种:ceil(N/16)*16

16/16=1,则实际占有的空间为16

6/16<1,取1*16,则实际占有的空间为16

26/16<1,1.625,取2*16,则实际占有的空间为32

 

总结,这两个数学公式说的是一个意思!得出的结果也是一样的!

举报
0 条评论