位图法(Bitmap)一维数据改为二维数据
位图法(Bitmap)一维数据改为二维数据
二、工作原理:三步映射法
位图通过数学计算将整数映射到比特位的具体位置:
1.
确定数组下标
若用32位整型数组存储,下标公式为:
数组下标 = 数值 / 32
(例:数值100 → 100/32 = 3,存入第3个数组元素)
2.
计算比特偏移
比特偏移 = 数值 % 32
(例:100%32=4 → 定位到第3个数组元素的第4个比特位)
3.
位操作设置状态
•
写入存在:数组[下标] |= (1 << 比特偏移)(置1)
•
查询存在:数组[下标] & (1 << 比特偏移) != 0(检查1)
•
删除数据:数组[下标] &= ~(1 << 比特偏移)(置0)
理解下每一个数组元素包含0-31的bit位,从0-31的bit位分别代表对整数取余数从0-31。