一个段有N个字节,该段实际占有空间为16*(N/16 + 1)个字节,超通俗易懂方式解答

在做到这个题目时,一开始对答案这个公式相当怀疑。的确这个公式其实不是正确的。

网上的答案是这样解释的:https://www.cnblogs.com/zhouie/p/10702606.html
我相信有很多同学第一次 没看懂最后一步的公式怎么来的。即使前面全部看懂了,可最后一步公式还是不知道怎么回事。

通俗的说:

cpu实际分配内存空间是一段一段的分配,不会连续的分配!也就说是每次分配一个段(16个字节)这里就是最前面的16的来由

括号里面得实际上就是算段的个数,我觉得应该加一句(N/16  + 1)得向下去整数这样就好理解了

例如定义了一个段有17个字节内容。那么在内存中的结构会是这样的:

所以可以解释为  实际占  N个字节+填充的字节。   所以实际占空间一定是16的倍数

扫描二维码关注公众号,回复: 10781408 查看本文章
发布了302 篇原创文章 · 获赞 37 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_41813208/article/details/104935883
今日推荐