如何以字节为单位计算BitSet的大小?

时间:2015-05-21 07:59:35

标签: java huffman-code bitset

我使用Java BitSet对邮件进行编码。

我的压缩文件大小达到了954kb,但当我BitSet.cardinality()时,我得到了大约4mb。你能解释一下吗?

1 个答案:

答案 0 :(得分:4)

BitSet.cardinality()返回true中设置为BitSet的位数。我想你正在寻找BitSet.size()。但请记住,它将返回的数量,而不是 bytes

假设在霍夫曼编码之后,您将大约一半的位设置为true,这意味着您的BitSet大小应该在BitSet中大约4.000.000 * 2 = 8.000.000位1}}反过来产生大约1.000.000字节,这相当于你看到的954kb。

这可以解释你的观察。