BitMap 基本思想
一个 int 在计算机中占 4 个字节。1 个字节占 8bit,也就是说一个 int 数字占 32bit。
而对于某些场景而言。这属于一种巨大的浪费,因为我们可以用对应的 32bit 位对应存储十进制的 0-31 个数,而这就是 BitMap 的基本思想。Bit-map 算法利用这种思想处理大量数据的排序、查询以及去重。
BitMap 代码实现
在讲代码之前我们先补充一些基础关于位运算的基础知识。基础还不错的同学可以跳过这部分。
int 在计算机中的存储方式
int t=1 那么 t 在计算机中如何存储的呢?
0000 0000 0000 0000 0000 0000 0000 0001
为什么要讲这个呢。因为在 BItMap 中涉及到关于 bit 的存储和计算。
运算符基础
左移 << :8 << 2 = > 8*4=32