Linux之Bitmap

1. Bitmap 的定义与核心特性

1.1 技术定义

Bitmap(位图,又称位掩码、位向量)是一种基于二进制位(bit)的紧凑数据结构,用每一位表示一个元素的二元状态(如存在 / 不存在、可用 / 已用、真 / 假)。其核心优势是空间效率极高,N 个元素仅需 ceil(N/8) 字节(每个字节含 8 位)。

1.2 核心特性
  • 空间效率:100 万个元素仅需约 125KB(100 万 / 8=125000 字节),比数组(每个元素占 4 字节需 4MB)节省 97% 空间。
  • 快速查询:通过位运算(如移位、按位与)可在 O (1) 时间内查询任意位的状态。
  • 批量操作:支持按位的批量设置、清除、翻转(如用0b1010一次操作第 1 和第 3 位)。
  • 局限性:仅适用于二元状态场景,不支持存储复杂数据;当 N 极大时(如 10 亿位),需分段管理。
2. Bitmap 的数据结构与实现原理
2.1 基础数据结构

Bitmap 本质是一个连续的二进制数组,通常用无符号整数数组(如unsigned char[]unsigned long[])存储,每个元素对应若干位。

  • 示例:用unsigned c
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值