http://blog.youkuaiyun.com/voice_shen/article/details/7005681
[Linux-3.0]
BITS_TO_LONGS
定义在:include/linux/bitops.h
#define BITS_PER_BYTE 8
#define BITS_TO_LONGS(nr) DIV_ROUND_UP(nr, BITS_PER_BYTE * sizeof(long))
DIV_ROUND_UP
定义在:include/linux/kernel.h (line 58)
#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
其目的就是求一个数是几个long的长度。
例:sizeof(long) = 4;
则
BITS_TO_LONGS(31) = 1
BITS_TO_LONGS(32) = 1
BITS_TO_LONGS(33) = 2
The following is the test code:
本文详细解析了Linux内核中bitops.h头文件中的BITS_TO_LONGS宏定义及其内部实现原理,通过具体示例展示了如何计算指定位数所需long类型变量的数量。
300

被折叠的 条评论
为什么被折叠?



