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

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

题目:

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

网上有两种答案:

  1. (N/16+1)*16

  2. 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

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

猜你喜欢

转载自blog.csdn.net/weixin_42859280/article/details/107737259