bitmap
简介
base linux-5.4
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
Was this helpful?