(nsize + 4096) & ~4096
-
size + 4095
:首先将size
加上 4095,这样就可以确保在原本的size
基础上,至少增加了4095个字节。 -
& ~4095
:然后使用按位与操作符&
结合取反操作~
,这样会将size + 4095
的结果向下舍入到最接近的4096的整数倍。这是因为4095的二进制表示是11111111111
,取反后为00000000000
,所以与操作会将size + 4095
中的低12位都置为0,实现了向下舍入到4096的效果。
这种技巧在计算机内存管理中常用于确保数据结构或者内存块按照某个特定的字节对齐方式进行分配,通常是为了提高存取效率或与硬件的要求对齐
标签:方式,4096,4095,取反,对齐,size,字节 From: https://www.cnblogs.com/dbnn/p/18000821