假设您使用的是位集或类似的东西,本质上是一些允许您访问各个位的值的对象。它可能是简单的东西,如整数字或字节数组,或者更通用的东西,如 Java 中的BitSet,具体取决于您要处理的位数。
我的问题涉及将有用位的长度转换为以字节数表示的长度。这实际上总是需要的,因为您通常不能分配少于 8 位(1 个字节)的内存,因此您最终会在“位集”对象中获得额外的填充位。
所以,总而言之,你如何正确地获得容纳给定比特大小所需的字节大小?
注意:考虑可能导致错误答案的潜在整数溢出。例如,如果足够大,n_bytes = (n_bits + 7) / 8
可能会导致整数溢出。n_bits