计算地址边界对齐或者按某个数对齐
我们知道Windows中计算地址经常要按照4字节边界对齐的,所以经常要根据某个数计算4的上一层的倍数,例如3-->4,5-->8,6-->8等。用下面的表达式可以简单得到:
Align(x) = (x + 3) and not 3;
如果要计算其他的对齐方式,那么只要把3更改为其他的数即可,注意其他的数只能是2^n - 1,即3, 7, 31等。