bitmap
简介
实践
#include <linux/bitmap.h>void bitmap_test(void)
{
unsigned long dst, src1, src2;
unsigned int nbits;
src1 = 0x2345;
src2 = 0xff;
nbits = 12;
bitmap_and(&dst, &src1, &src2, nbits); // 与操作
printk("bitmap: 0x%lx and 0x%lx\t = 0x%lx\n", src1, src2, dst);
bitmap_or(&dst, &src1, &src2, nbits); // 或操作
printk("bitmap: 0x%lx or 0x%lx\t = 0x%lx\n", src1, src2, dst);
bitmap_xor(&dst, &src1, &src2, nbits); // 异或操作
printk("bitmap: 0x%lx xor 0x%lx\t = 0x%lx\n", src1, src2, dst);
bitmap_complement(&dst, &src2, nbits); // 非操作
printk("bitmap: 0x%lx complement\t = 0x%lx\n", src2, dst);
nbits = 16;
bitmap_andnot(&dst, &src1, &src2, nbits); // 与非操作
printk("bitmap: 0x%lx andnot 0x%lx\t = 0x%lx\n", src1, src2, dst);
}Last updated