字符画之画Bitmap

  1. Bitmap
  2. c++ stl实现
  3. 参考代码

用字符“画”Bitmap数据结构。

Bitmap

  (1) 原理:用一个bit来标记一个数是否存在。
  一个int-32bit,可以标记十进制0~31,即表示了32个整型数据。
  相当于存储32个数据只需要4个字节。
  若用char来存储32个数据(0~31),则至少需要32个字节。

  (2) 存储序列图:
  char  char[0]         char[n]
  bit  [7      0]......[7      0]
       低字节          高字节

  k=0 : char[0]-bit[7]
  k=7 : char[0]-bit[0]
  k=8 : char[1]-bit[7]
  k=9 : char[1]-bit[6]
  k=15: char[1]-bit[0]
  char[n]  : n = k/8 = k>>3
  bit[n-1] : n = 0x80 >> (k%8) = 0x80 >> (k&0x07)

c++ stl实现

c++ stl实现的数据结构为std::bitset,简单用法见bitset

参考代码

Bitmap


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [ yehuohan@gmail.com ]

文章标题:字符画之画Bitmap

本文作者:Y

发布时间:2018-07-14, 00:55:05

最后更新:2019-05-21, 20:44:22

原始链接:http://yehuohan.github.io/2018/07/14/%E7%AC%94%E8%AE%B0/DSA/%E5%AD%97%E7%AC%A6%E7%94%BB%E4%B9%8B%E7%94%BBBitmap/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。