N分为被16整除和不被16整除。 当N被16整除时: 占有的空间为(N/16)*16 当N不被16整除时: 占有的空间为(N/16+1)*16,N/16得出的是可以整除的部分,还有一个余数,余数肯定小于16,加上一个16。 两种情况总结成一个通用的公式:((N+15)/16)*16
因为每个段都是以16字节来对齐的,但是最大不能超过64KB 。这也就是说,如果你的段数据在16字节内,一样会被当做一个字节段来算,就是16字节。 要是大于16字节呢,那么如果多出就算是1个字节,因为已经超过一个16字节,多出来的1个字节 也得有一个字节段的容量来存储它,所以这时得占两个字节段,就是32字节,以此类推! (n/16 + 1 )*16 详细解释下:n/16 : / 这个符号是取整,就是看有几个段。小于或等于16的 除以16后,小于16取整后等于0,等于16取整后无余数还是等于0,都是等于 0,(0+1)*16 = 16字节,一个段的大小。大于16,除以后取整有余数,取整部分为多少个字节段,剩余的部分再需要一个16字节段来存储它。所以最终得到此公式:(n/16+1)*16
21,488
社区成员
41,613
社区内容
加载中
试试用AI创作助手写篇文章吧