bitmap - 如何在文件中存储不同的位长度?
问题描述
我的代码有问题。我想以位存储从 0 到 127 的数字,但是对于某些数字,我不想在数字的开头浪费一些位作为 0。
例如,存储 15 需要 4 位。我不想浪费另外 4 位在 1111 的开头放置 0。换句话说,我想将 00001111(即 15)保存为仅 1111。问题是下一个数字可能是另一个位长度.
如何以最有效的方式保存这些数字,而不会为每个数字浪费 1 个字节。想象一下,我有一系列数字如下:
4, 66, 127, 55, 0, 6
我希望数字 4、66、127、55、0、6 的结果如下所示:
100 1000010 1111111 110111 0 110
代替: 00000100 01000010 01111111 00110111 00000000 00000110
而且我不想为每个指定 1 个字节。我该怎么做?谢谢你的帮助。
我读过一些关于位长和位域的东西。但我无法从中理解任何东西。
我希望数字 4、66、127、55、0、6 的结果如下所示:
100 1000010 1111111 110111 0 110
代替: 00000100 01000010 01111111 00110111 00000000 00000110
解决方案
推荐阅读
- javascript - 如何为负值绘制不同的渐变填充?
- ios - SwiftUI 图像作为自定义“单选”按钮
- kdb - 如何将数字列表转换为 k 中的字符串?
- sql - 如何在一系列连续时间戳内对数据进行分组
- angular - 为什么 Angular 解析器在使用 of() 返回可观察对象时不返回任何数据,但在使用 of().pipe(delay(1000)) 时返回
- python - Sympy - 从三角方程得到两个解,我只期待一个
- .htaccess - 将 htaccess 文件转换为 nginx try_file 用于子文件夹
- javascript - 将数组 A 和 B 的差异添加到数组 A
- vue.js - 组件安装两次
- python - PyQt 5:扩展窗口时如何保持相对的小部件大小