c语言小代码——对齐

来源:互联网 发布:淘宝单主持怎样找商家 编辑:程序博客网 时间:2024/06/06 06:53

c语言小代码——对齐

一、对齐

用于对齐:向上对齐和向下对齐:
#define ROUND_UP(x, align) (((int) (x) + (align - 1)) & ~(align - 1))
#define ROUND_DOWN(x, align) ((int)(x) & ~(align - 1))

用于检查是否已经对齐:
#define ALIGNED(x, align) (((int)(x) & (align - 1)) == 0)

其中,x为要计算或者检查的值,align是要对齐的单位


例如:
#define _ALLOC_ALIGN_SIZE  16

#define MEM_ROUND_UP(x)  ROUND_UP(x, _ALLOC_ALIGN_SIZE)
#define MEM_ROUND_DOWN(x) ROUND_DOWN(x, _ALLOC_ALIGN_SIZE)

原创粉丝点击