什么是位图?


位图是从一个系统(例如整数)到位的映射。它也称为位图索引或位数组。

内存被划分为位图的单元。这些单元的大小从几个字节到几千字节不等。每个内存单元都与位图中的一个位相关联。如果单元被占用,则位为 1;如果单元为空,则位为 0。

位图提供了一种相对简单的方法来跟踪内存,因为位图的大小仅取决于内存的大小和单元的大小。

一张阐明位图用法的图片如下:

Bitmap

图片中给出的位图对被占用的内存单元写入 1,对未被占用的内存单元写入 0。前 5 个单元被 A 占用,位图中的相应条目为 11111。接下来的三个单元为空,因此它们在位图中的条目为 000。之后,6 个单元占用 B。因此,它们在位图中的条目为 111111。以此类推,图片中显示了在位图中获得的 A、B、C、D 和 E 的结果。

位图的关键特性

位图的一些重要特性:

  • 位图中的单元大小非常重要,应谨慎选择。
  • 如果单元大小较小,位图将较大,因为它将为每个单元保存值 0 或 1。类似地,如果单元大小较大,位图将较小。
  • 单元大小不必过大,即使单元大小小到 3 个字节,位图的一个位也可以表示 24 位。

位图的优势

位图非常有用,因为它提供了一种仅使用少量内存来存储位图表即可跟踪内存的方法。位图的大小完全取决于内存的大小以及内存单元的大小。

位图的劣势

如果进程需要占用大小为“n”的内存块,则位图中会出现一个主要问题。然后需要在位图中找到一个值为全零的“n”大小的空位。

更新于:2020年1月31日

13K+ 浏览量

启动您的职业生涯

完成课程获得认证

开始
广告