我有一个 N 种颜色的列表。我需要将这些值中的任何一个表示为 BitArray。如果 N = 129 到 255,那么显然,每种颜色都应表示为长度为 8 的 BitArray。它类似于编码数字,但如果我知道该列表中的颜色索引,我如何获得实际的 BitArray?
问问题
373 次
1 回答
2
您需要的是字节数组,而不是BitArray
(当然也不是 BitArrays 数组)。如果可以使用 129 到 255 之间的数字唯一地定义一种颜色,那么您需要 8 位来表示它。
BitArray
用于有效地存储大量位数组;用它来存储 8 位是没有意义的。
另一方面,您可以将一个字节数组(其中每个字节是一种颜色)存储到一个大的BitArray
. 但这只有在您需要检查整个颜色列表时才有意义,一次遍历多种颜色的各个位。
[编辑]准确地说,正如 Henk 指出的那样,如果N在 0 到 255 之间,那么你需要 8 位。如果颜色总数 <= 127,并且您使用从 129 到 255 的数字标记它们,那么您只需要 7 位。但我相信 OP 想说的话,它们至少有 129 种颜色,不超过 255 种。
于 2011-05-05T08:27:31.320 回答