2

我有 10101、1000、11101、.... 等数字。我想使用 bitset 类存储这些数字,但不知道该怎么做?请帮忙

4

3 回答 3

1

标准 Java SE API 中有一个BitSet实现,您应该尝试使用它。

于 2012-06-14T08:48:16.603 回答
1

您应该改用字节数组。

于 2012-06-14T08:33:50.477 回答
1

如果要使用二进制数表示来创建BitSet,可以分两步完成:

例如

BigInteger a = new BigInteger("10101", 2); //base 2 for binary
BitSet aBits = BitSet.valueOf(a.toByteArray());

BitSet.valueOf()是 Java 7 中的新功能,因此不适用于早期的 Java 版本。

编辑:

如果您不喜欢BigInteger使用字符串进行初始化并且您的二进制数适合 64 位,您也可以使用 Java 7 的二进制文字BigInteger并使用BigInteger.valueOf(long)方法进行初始化。

于 2012-06-14T09:00:22.457 回答