位图的基本操作
位图的出现在一定程度上降低了内存使用。
应用场景:
当待处理数据超出内存处理范围时,将出现一系列的问题。此时,如果使用位图,就可以将内存的使用降至原使用内存大小的八分之一,极大程度的降低了内存不足所带来的诸多问题。
位图初始化:
1.判断输入参数的非法性;
2.初始化结构体变量。
代码:
void BitMapInit(BitMap* bm, uint64_t capacity){
//1.判断非法输入
if(bm == NULL){
//非法输入
return;
}
//2.初始化结构体变量
bm->capacity = capacity;
uint64_t size = capacity/(8*sizeof(uint64_t))+ 1;
//为结构体中的指针变量开辟空间
bm->data = (uint64_t*)malloc(size*sizeof(uint64_t));
//初始化
memset(bm->data,0,size);
return;
}