#define ALIGN(x, a) (((x) + (a) - 1) & ~((a) - 1)) #define ALIGN_UP(x,a) (((x) + (a)) & ~((a) - 1)) #define ALIGN_DOWN(x,a) ((x) & ~((a) - 1)) x | ALIGN(x,4096) ALIGN_UP(x,4096) ALIGN_DOWN(x,4096) ------------------------------------------------------------ 0 | 0 4096 0 1 | 4096 4096 0 4095 | 4096 4096 0 4096 | 4096 8192 4096 4097 | 8192 8192 4096